
net.sf.xolite.expressions.jaxb_abstr.ExpressionContext Maven / Gradle / Ivy
package net.sf.xolite.expressions.jaxb_abstr;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
/**
* Context holding the values of the variables that can be used in the boolean expressions.
*
* @author BEROL
*/
public class ExpressionContext {
private List variables = new ArrayList();
@XmlElement(name = "variable")
public List getVariables() {
return variables;
}
public void setVariables(List newVariables) {
variables = newVariables;
}
private VariableDefinition getVariable(String variableName) {
for (VariableDefinition v : variables) {
if (v.getName().equals(variableName)) return v;
}
return null;
}
public boolean getVariableValue(String variableName) {
VariableDefinition v = getVariable(variableName);
if (v == null) throw new IllegalArgumentException("Variable '" + variableName + "' not defined");
return v.getValue();
}
public void setVariableValue(String variableName, boolean variableValue) {
VariableDefinition v = getVariable(variableName);
if (v == null) variables.add(new VariableDefinition(variableName, variableValue));
else v.setValue(variableValue);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy