/** * Constructs a ConditionalProcess element from the supplied conditionElement (<if>) while * building Process objects out of each of the element's <process> children. */ public ConditionalProcessGroup(TemplateCore template, Element conditionElement, int id) { this.id = "Condition " + id; // $NON-NLS-1$ conditionString = conditionElement.getAttribute(ProcessHelper.CONDITION); if (conditionString != null) { if (conditionString.trim().equals("")) { // $NON-NLS-1$ conditionString = null; } else { int op = conditionString.indexOf(ProcessHelper.EQUALS); if (op != -1) { this.operator = Operator.EQUALS; lValue = conditionString.substring(0, op); rValue = conditionString.substring(op + ProcessHelper.EQUALS.length()); } else { op = conditionString.indexOf(ProcessHelper.NOT_EQUALS); if (op != -1) { this.operator = Operator.NOT_EQUALS; lValue = conditionString.substring(0, op); rValue = conditionString.substring(op + ProcessHelper.NOT_EQUALS.length()); } // else an unsupported operation where this condition is ignored. } collectMacros(lValue); collectMacros(rValue); } } createProcessObjects( template, TemplateEngine.getChildrenOfElementByTag(conditionElement, TemplateDescriptor.PROCESS)); }
/** * Constructs a ConditionalProcess element from the supplied process elements while building * Process objects out of each of the supplied process elements (<process>). The condition * in this case is evaluated to true. * * <p>This Constructor is expected to be used to evaluate all those process elements that are * children of the template root element. */ public ConditionalProcessGroup(TemplateCore template, Element[] processElements) { id = "No Condition"; // $NON-NLS-1$ createProcessObjects(template, Arrays.asList(processElements)); }