@@ -0,0 +1,1153 @@
+package innovimax.mixthem;%0A%0A/**%0A* %3Cp%3ERule additional parameters management.%3C/p%3E%0A* @author Innovimax%0A* @version 1.0%0A*/%0Apublic class RuleParam %7B%0A%0A%09private String name;%09%0A%09private boolean required;%0A%0A%09/**%0A %09* Creates a rule parameter.%0A %09* @param name The name of the parameter%0A %09* @param required Equals true if this parameter is required%0A %09*/%0A%09public RuleParam(String name, boolean required) %7B%0A%09%09this.name = name;%0A%09%09this.required = required;%0A%09%7D%0A%0A%09/**%0A%09* Returns the name of the rule parameter.%0A%09* @return The name of the rule parameter%0A%09*/%09%0A%09public String getName() %7B%0A%09%09return this.name;%0A%09%7D%0A%0A%09/**%0A %09* Returns true if this parameter is required.%0A %09* @return Returns true if this parameter is required%0A %09*/%0A%09public boolean isRequired() %7B%0A%09%09return this.required;%0A%09%7D%0A%0A%09// This is the unique optional parameter of rule _RANDOM_ALT_LINE%0A%09public static RuleParam RANDOM_ALT_LINE_SEED = new RuleParam(%22seed%22, false);%0A%09// This is the first optional parameter of rule _JOIN%0A%09public static RuleParam JOIN_COL1 = new RuleParam(%22col1%22, false);%0A%09// This is the second optional parameter of rule _JOIN%0A%09public static RuleParam JOIN_COL2 = new RuleParam(%22col2%22, false);%0A%0A%7D%0A

Create RuleParam.java