1 10 package org.mmbase.applications.editwizard; 11 12 import java.util.*; 13 import org.mmbase.util.logging.*; 14 15 25 public class WizardCommand { 26 27 public final static short UNKNOWN_COMMAND = -1; 28 public final static short ADD_ITEM = 0; 29 public final static short CANCEL = 1; 30 public final static short COMMIT = 2; 31 public final static short DELETE_ITEM = 3; 32 public final static short GOTO_FORM = 4; 33 public final static short MOVE_DOWN = 5; 34 public final static short MOVE_UP = 6; 35 public final static short SAVE = 7; 36 public final static short START_WIZARD = 8; 37 public final static short UPDATE_ITEM = 9; 38 39 44 private final static String [] COMMANDS = 45 {"add-item", "cancel", "commit", "delete-item", "goto-form", "move-down", "move-up", "save", "start-wizard", "update-item"}; 46 47 private static final Logger log = Logging.getLoggerInstance(WizardCommand.class); 48 49 private String commandName="unknown"; 50 private int type = UNKNOWN_COMMAND; 51 private List params = null; 52 53 private String value = null; 54 55 private String command; 57 58 71 public WizardCommand(String acommand, String avalue) { 72 command = acommand.toLowerCase(); 73 value = avalue; 74 if (log.isDebugEnabled()) { 75 log.debug("command: " + command + " : "+value); 76 } 77 78 StringTokenizer st= new StringTokenizer(command,"/",true); 79 st.nextToken(); 81 st.nextToken(); 82 83 commandName= st.nextToken(); 85 st.nextToken(); 87 type = Arrays.binarySearch(COMMANDS, commandName); 89 if (type<0) type =UNKNOWN_COMMAND; 90 91 int paramcount=st.countTokens(); 92 if (paramcount>0) { 93 params = new ArrayList(paramcount); 94 while (st.hasMoreTokens()) { 96 String tok=st.nextToken(); 97 if (!tok.equals("/")) { 98 params.add(tok); 99 st.nextToken(); 100 } else { 101 params.add(""); 102 } 103 } 104 } 105 } 106 107 111 public int getType() { 112 return type; 113 } 114 115 119 public String getValue() { 120 return value; 121 } 122 126 public String getParameter(int i) { 127 if ((params==null) || (i>=params.size())) 128 return ""; 129 else 130 return (String )params.get(i); 131 } 132 133 138 public String getFid() { 139 return getParameter(0); 140 } 141 142 147 public String getDid() { 148 return getParameter(1); 149 } 150 151 public String toString() { 152 return command; 153 } 154 155 } 156 | Popular Tags |