Package org.bladerunnerjs.utility

Source Code of org.bladerunnerjs.utility.CommandRunner

package org.bladerunnerjs.utility;

import org.apache.commons.lang3.ArrayUtils;
import org.bladerunnerjs.model.exception.command.CommandArgumentsException;
import org.bladerunnerjs.model.exception.command.CommandOperationException;
import org.bladerunnerjs.model.exception.command.NoSuchCommandException;
import org.bladerunnerjs.plugin.CommandPlugin;
import org.bladerunnerjs.plugin.utility.command.CommandList;


public class CommandRunner
{
  public static int run(CommandList commandList, String args[]) throws NoSuchCommandException, CommandArgumentsException, CommandOperationException
  {
    String commandName = extractCommandFromArgs(args);
    String[] commandArgs = extractCommandArgsFromArgs(args);
    CommandPlugin commandPlugin = commandList.lookupCommand(commandName);
   
    if(commandPlugin == null) throw new NoSuchCommandException(commandName);
   
    return commandPlugin.doCommand(commandArgs);
  }
 
  public static String extractCommandFromArgs(String[] args)
  {
    if (args.length > 0)
    {
      return ArrayUtils.subarray(args, 0, 1)[0];
    }
    return "";
  }
 
  public static String[] extractCommandArgsFromArgs(String[] args)
  {
    if (args.length > 0) {
      args = ArrayUtils.subarray(args, 1, args.length);
    }
   
    return args;
  }
}
TOP

Related Classes of org.bladerunnerjs.utility.CommandRunner

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.