public class BuildContext
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.Map |
bcons
The object conditions (variable -> object conditions (object condition with defining bound constraint)).
|
protected java.util.Map |
boundconstraints
The bound constraints (variable -> boundconstraint (only variable definitions, i.e.
|
protected ObjectCondition |
dummy
The dummy condition (if any).
|
protected java.util.List |
lcons
The list of conditions.
|
protected java.util.List |
oconstack
Stack for object conditions (for checking if constraints can be generated in current context).
|
protected BuildContext |
parent
The parent build context (if any).
|
protected OAVTypeModel |
tmodel
The OAV type model.
|
protected java.util.Map |
variables
The variables (name -> variable).
|
Constructor and Description |
---|
BuildContext(BuildContext parent)
Create a new build context.
|
BuildContext(ICondition condition,
OAVTypeModel tmodel)
Create a new build context.
|
Modifier and Type | Method and Description |
---|---|
void |
addCondition(ICondition condition)
Add a condition to the context.
|
void |
addVariable(Variable var)
Add a variable.
|
ObjectCondition |
createObjectCondition(OAVObjectType type,
IConstraint[] constraints)
Create a new object condition with the given constraints.
|
Variable |
generateVariableBinding(ConstrainableCondition condition,
java.lang.Object valuesource)
Create a new variable and bind it using the given object condition and value source.
|
Variable |
generateVariableBinding(ConstrainableCondition condition,
java.lang.String name,
OAVObjectType type,
java.lang.Object valuesource)
Create a new variable and bind it using the given object condition and value source.
|
Variable |
generateVariableBinding(ConstrainableCondition condition,
java.lang.String name,
java.lang.Object valuesource)
Create a new variable and bind it using the given object condition and value source.
|
java.lang.String |
generateVariableName()
Generate a variable name.
|
BoundConstraint |
getBoundConstraint(Variable var)
Get the bound constraint a variable, i.e.
|
java.util.Set |
getBoundVariables()
Get the variables, which are available in this build context.
|
java.util.List |
getConditions()
Get the conditions.
|
ConstrainableCondition |
getConstrainableCondition(Variable var)
Get an object condition for a variable, i.e.
|
ConstrainableCondition |
getConstrainableCondition0(Variable var)
Get an object condition for a variable, i.e.
|
ConstrainableCondition |
getCurrentCondition()
Get the current condition from the stack.
|
protected BuildContext |
getDefiningScope(ICondition con)
Get the context in which the given condition is defined.
|
ObjectCondition |
getDummyCondition()
Expressions, which are unrelated to real object
conditions should be bound to the dummy condition.
|
BuildContext |
getParent()
Return the parent build context (if any).
|
protected static OAVObjectType |
getReturnType(ConstrainableCondition cond,
java.lang.Object valuesource,
OAVTypeModel tmodel)
Get the return type of a value source.
|
OAVTypeModel |
getTypeModel()
Get the OAV type model.
|
Variable |
getVariable(java.lang.String name)
Get a variable.
|
boolean |
hasDummyCondition()
Test if a dummy condition was used in the context.
|
void |
popCondition()
Pop a condition from the stack.
|
void |
pushCondition(ConstrainableCondition con)
Push a condition on the stack.
|
protected java.util.List lcons
protected java.util.Map variables
protected java.util.Map boundconstraints
protected java.util.Map bcons
protected OAVTypeModel tmodel
protected ObjectCondition dummy
protected BuildContext parent
protected java.util.List oconstack
public BuildContext(ICondition condition, OAVTypeModel tmodel)
condition
- The initial condition.public BuildContext(BuildContext parent)
parent
- The parent build context.public java.util.List getConditions()
public OAVTypeModel getTypeModel()
public ConstrainableCondition getConstrainableCondition(Variable var)
var
- The variableRuntimeExcpetion
- when no condition was found.public ConstrainableCondition getConstrainableCondition0(Variable var)
var
- The variableRuntimeExcpetion
- when no condition was found.public BoundConstraint getBoundConstraint(Variable var)
var
- The variableRuntimeExcpetion
- when no constraint was found.public Variable generateVariableBinding(ConstrainableCondition condition, java.lang.Object valuesource)
condition
- The object condition.valuesource
- The value source.public java.lang.String generateVariableName()
public Variable generateVariableBinding(ConstrainableCondition condition, java.lang.String name, java.lang.Object valuesource)
condition
- The object condition.name
- The variable name.valuesource
- The value source.public Variable generateVariableBinding(ConstrainableCondition condition, java.lang.String name, OAVObjectType type, java.lang.Object valuesource)
condition
- The object condition.name
- The variable name.valuesource
- The value source.public ObjectCondition createObjectCondition(OAVObjectType type, IConstraint[] constraints)
type
- The object type.constraints
- The constraints (if any).public Variable getVariable(java.lang.String name)
name
- The name of the variable.public void addVariable(Variable var)
var
- The variable.public ObjectCondition getDummyCondition()
public boolean hasDummyCondition()
public void addCondition(ICondition condition)
condition
- The condition.protected static OAVObjectType getReturnType(ConstrainableCondition cond, java.lang.Object valuesource, OAVTypeModel tmodel)
valuesource
- The value source.tmodel
- The type model.public BuildContext getParent()
public java.util.Set getBoundVariables()
public void pushCondition(ConstrainableCondition con)
public void popCondition()
public ConstrainableCondition getCurrentCondition()
protected BuildContext getDefiningScope(ICondition con)