package commons.cmd;

import basics.utl.Empty;
import basics.utl.SUtl;
import commons.application.core.Command;
import commons.script.InputTokenizer;

public class set extends Command
{
private static final String ARGS = "ARGS: <key1>" + InputTokenizer.COLON + "<value>"
                                    + InputTokenizer.SEMICOLON + "<key2>" + InputTokenizer.COLON
                                    + "<value>;alias:<key>=<value>. ";

public void process() throws Exception
{
   String alias = ctx.consume("alias", "");
   if(!Empty.is(alias))
   {
      String kv[] = SUtl.split(alias.trim(), "=");
      ctx.setAlias(kv[0], kv[1]);
   }
   // Manager.ui().put(ctx.toString());
   engine.contextParamsChanged();
}

public void signContract()
{
}

public String description()
{
   return implName() + " reports the engine's state, and sets variables: " + ARGS;
}
}
