MetaDone
|
Public Member Functions | |
IfEngine (GrasylaContext context, ConcreteObject expression, Engine parent) throws BadPreCondition | |
Protected Member Functions | |
boolean | isNativeAttribute (String name) |
void | notifyChildChanged (Engine child, ChildComponent comp) |
Package Functions | |
protected< C > Component <?extends C > | buildNewComponent (Class< C > clComp) throws BadPreCondition |
private< C > Component<?extends C > | evaluate (Class< C > clComp) throws BadPreCondition |
private< C > Component<?extends C > | evaluateSimple (Class< C > clComp, int skipCount) throws BadPreCondition |
private< C > Component<?extends C > | rebuildAll (Class< C > clComp) throws BadPreCondition |
Private Member Functions | |
void | rebuildSingle (Engine child, ChildComponent comp, Class<?> cl) throws BadPreCondition |
Private Attributes | |
boolean | all = false |
volatile boolean | evaluating |
volatile int | trueIndex |
Static Private Attributes | |
static final String | ATTR_ALL = "all" |
A conditional engine.
Should be GuardEngines. If the indicator GuardEngine#FALSE_INDICATOR is not present in the child component, it means that is has been evaluated to true
. It means that other components than guard are true
by default, however a guard without a condition should be used in such case.
true
: all the guards are evaluated and true
guards are concatenated to build the result. Otherwise, only the component of the first true
guard is returned. In the later case, guards that are after the currently true
guard are not activated nor evaluated which allows a more lazy approach. metadone.client.grasyla2.generic.IfEngine.IfEngine | ( | GrasylaContext | context, |
ConcreteObject | expression, | ||
Engine | parent | ||
) | throws BadPreCondition |
Initializes this engine.
context | The context |
expression | The expression |
parent | The parent or null |
BadPreCondition |
References metadone.client.grasyla2.GrasylaEngine.context, metadone.client.grasyla2.GrasylaEngine.expression, and metadone.client.grasyla2.GrasylaEngine.parent.
protected<C> Component<? extends C> metadone.client.grasyla2.generic.IfEngine.buildNewComponent | ( | Class< C > | clComp | ) | throws BadPreCondition [package, virtual] |
Builds a new component.
<C> | The type |
clComp | The class |
BadPreCondition |
Implements metadone.client.grasyla2.GrasylaEngine.
References metadone.client.grasyla2.generic.IfEngine.all, metadone.client.grasyla2.generic.IfEngine.ATTR_ALL, metadone.client.grasyla2.GrasylaEngine.buildChild(), metadone.client.grasyla2.generic.IfEngine.evaluate(), metadone.client.grasyla2.GrasylaEngine.getAttributes(), and metadone.client.grasyla2.GrasylaEngine.getContext().
private<C> Component<? extends C> metadone.client.grasyla2.generic.IfEngine.evaluate | ( | Class< C > | clComp | ) | throws BadPreCondition [package] |
References metadone.client.grasyla2.generic.IfEngine.all, metadone.client.grasyla2.GrasylaEngine.buildChild(), metadone.client.grasyla2.GrasylaEngine.clearChildrenExpressions(), metadone.client.grasyla2.generic.IfEngine.evaluateSimple(), metadone.client.grasyla2.generic.IfEngine.evaluating, metadone.client.grasyla2.GrasylaEngine.getContainedExpressions(), metadone.client.grasyla2.GrasylaEngine.getContext(), and metadone.client.grasyla2.generic.IfEngine.rebuildAll().
Referenced by metadone.client.grasyla2.generic.IfEngine.buildNewComponent(), and metadone.client.grasyla2.generic.IfEngine.notifyChildChanged().
private<C> Component<? extends C> metadone.client.grasyla2.generic.IfEngine.evaluateSimple | ( | Class< C > | clComp, |
int | skipCount | ||
) | throws BadPreCondition [package] |
References metadone.client.grasyla2.GrasylaEngine.buildChild(), metadone.client.grasyla2.generic.GuardEngine.FALSE_INDICATOR, metadone.client.grasyla2.GrasylaEngine.getContainedExpressions(), metadone.client.grasyla2.GrasylaEngine.getContext(), and metadone.client.grasyla2.generic.IfEngine.trueIndex.
Referenced by metadone.client.grasyla2.generic.IfEngine.evaluate(), and metadone.client.grasyla2.generic.IfEngine.rebuildSingle().
boolean metadone.client.grasyla2.generic.IfEngine.isNativeAttribute | ( | String | name | ) | [protected] |
Indicates whether an attribute is handled when building the component.
In other words, a native attribute should not be handled by an attribute handler.
name | The name of the attribute |
true
if name is a native attribute Reimplemented from metadone.client.grasyla2.GrasylaEngine.
References metadone.client.grasyla2.generic.IfEngine.ATTR_ALL.
void metadone.client.grasyla2.generic.IfEngine.notifyChildChanged | ( | Engine | child, |
ChildComponent | comp | ||
) | [protected] |
Reimplemented from metadone.client.grasyla2.GrasylaEngine.
References metadone.client.grasyla2.generic.IfEngine.all, metadone.client.grasyla2.generic.IfEngine.ATTR_ALL, metadone.client.grasyla2.GrasylaEngine.building, metadone.client.grasyla2.generic.IfEngine.evaluate(), metadone.client.grasyla2.generic.IfEngine.evaluating, metadone.client.grasyla2.GrasylaEngine.ChildComponent.getAttribute(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.getComponent(), metadone.client.grasyla2.GrasylaEngine.getComponent(), metadone.client.grasyla2.GrasylaEngine.getState(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.isAttribute(), metadone.client.grasyla2.GrasylaEngine.logger, metadone.client.grasyla2.generic.IfEngine.rebuildAll(), metadone.client.grasyla2.generic.IfEngine.rebuildSingle(), and metadone.client.grasyla2.GrasylaEngine.updateComponent().
private<C> Component<? extends C> metadone.client.grasyla2.generic.IfEngine.rebuildAll | ( | Class< C > | clComp | ) | throws BadPreCondition [package] |
References metadone.client.grasyla2.GrasylaEngine.getChildComponent(), metadone.client.grasyla2.GrasylaEngine.getChildren(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.getComponent(), and metadone.client.grasyla2.GrasylaEngine.ChildComponent.isAttribute().
Referenced by metadone.client.grasyla2.generic.IfEngine.evaluate(), and metadone.client.grasyla2.generic.IfEngine.notifyChildChanged().
void metadone.client.grasyla2.generic.IfEngine.rebuildSingle | ( | Engine | child, |
ChildComponent | comp, | ||
Class<?> | cl | ||
) | throws BadPreCondition [private] |
References metadone.client.grasyla2.generic.IfEngine.evaluateSimple(), metadone.client.grasyla2.generic.GuardEngine.FALSE_INDICATOR, metadone.client.grasyla2.GrasylaEngine.findIndex(), metadone.client.grasyla2.GrasylaEngine.getChildComponent(), metadone.client.grasyla2.GrasylaEngine.getChildren(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.isAttribute(), metadone.client.grasyla2.GrasylaEngine.logger, metadone.client.grasyla2.GrasylaEngine.removeChild(), metadone.client.grasyla2.generic.IfEngine.trueIndex, and metadone.client.grasyla2.GrasylaEngine.updateComponent().
Referenced by metadone.client.grasyla2.generic.IfEngine.notifyChildChanged().
boolean metadone.client.grasyla2.generic.IfEngine.all = false [private] |
final String metadone.client.grasyla2.generic.IfEngine.ATTR_ALL = "all" [static, private] |
volatile boolean metadone.client.grasyla2.generic.IfEngine.evaluating [private] |
volatile int metadone.client.grasyla2.generic.IfEngine.trueIndex [private] |