MetaDone
|
Public Member Functions | |
ListEngine (GrasylaContext context, ConcreteObject expression, Engine parent) throws BadPreCondition | |
Protected Member Functions | |
boolean | isNativeAttribute (String name) |
void | disposeInternal () |
void | notifyChildChanged (Engine child, ChildComponent comp) |
Component<?> | updateToConcreteObject (ConcreteObjectGroupChange event) |
Package Functions | |
protected< C > Component <?extends C > | buildNewComponent (Class< C > clComp) throws BadPreCondition |
private< C > Component<?extends C > | buildComponent (Class< C > clComp) |
protected< C > Component <?extends C > | buildSeparator (Class< C > clComp, int pos) throws BadPreCondition |
Static Private Member Functions | |
static Pair< Integer, GrasylaEngine > | findEngine (ConcreteObject co, List<?extends GrasylaEngine > children) |
Private Attributes | |
ConcreteObject | separator |
Static Private Attributes | |
static final String | ATTR_SEP = "separator" |
Creates a list.
none
Produces a list of components by looking for an equation for each of the objects in the context. Between these components, the separators are built. All these components are concatenated to build the resulting list. Finally we obtain a list: [c_1, sep, c_2, sep, ..., sep, c_n]
.
metadone.client.grasyla2.generic.ListEngine.ListEngine | ( | 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, metadone.client.grasyla2.GrasylaEngine.parent, and metadone.client.grasyla2.GrasylaEngine.setCanUpdateObject().
private<C> Component<? extends C> metadone.client.grasyla2.generic.ListEngine.buildComponent | ( | Class< C > | clComp | ) | [package] |
References metadone.client.grasyla2.generic.ListEngine.ATTR_SEP, metadone.client.grasyla2.GrasylaEngine.ChildComponent.getAttribute(), metadone.client.grasyla2.GrasylaEngine.getChildComponent(), metadone.client.grasyla2.GrasylaEngine.getChildren(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.getComponent(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.isAttribute(), and metadone.client.grasyla2.GrasylaEngine.logger.
Referenced by metadone.client.grasyla2.generic.ListEngine.buildNewComponent(), metadone.client.grasyla2.generic.ListEngine.notifyChildChanged(), and metadone.client.grasyla2.generic.ListEngine.updateToConcreteObject().
protected<C> Component<? extends C> metadone.client.grasyla2.generic.ListEngine.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.ListEngine.ATTR_SEP, metadone.client.grasyla2.GrasylaEngine.buildChild(), metadone.client.grasyla2.generic.ListEngine.buildComponent(), metadone.client.grasyla2.generic.ListEngine.buildSeparator(), metadone.client.display.ConcreteObjectGroup.forInstance(), metadone.client.grasyla2.GrasylaEngine.getAttributes(), metadone.client.grasyla2.GrasylaEngine.getContext(), and metadone.client.grasyla2.generic.ListEngine.separator.
protected<C> Component<? extends C> metadone.client.grasyla2.generic.ListEngine.buildSeparator | ( | Class< C > | clComp, |
int | pos | ||
) | throws BadPreCondition [package] |
Builds the separator.
<C> | The class |
clComp | The component |
pos | The position where the separator will be inserted or -1 for the end of the list |
BadPreCondition |
References metadone.client.grasyla2.generic.ListEngine.ATTR_SEP, metadone.client.grasyla2.GrasylaEngine.buildChild(), metadone.client.grasyla2.GrasylaEngine.getContext(), and metadone.client.grasyla2.generic.ListEngine.separator.
Referenced by metadone.client.grasyla2.generic.ListEngine.buildNewComponent(), and metadone.client.grasyla2.generic.ListEngine.updateToConcreteObject().
void metadone.client.grasyla2.generic.ListEngine.disposeInternal | ( | ) | [protected] |
Called by dispose().
It is called after clearing the children, the goal is to let subtypes clear their internal variables when disposing.
Reimplemented from metadone.client.grasyla2.GrasylaEngine.
References metadone.client.grasyla2.generic.ListEngine.separator.
static Pair<Integer, GrasylaEngine> metadone.client.grasyla2.generic.ListEngine.findEngine | ( | ConcreteObject | co, |
List<?extends GrasylaEngine > | children | ||
) | [static, private] |
boolean metadone.client.grasyla2.generic.ListEngine.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.ListEngine.ATTR_SEP.
void metadone.client.grasyla2.generic.ListEngine.notifyChildChanged | ( | Engine | child, |
ChildComponent | comp | ||
) | [protected] |
Reimplemented from metadone.client.grasyla2.GrasylaEngine.
References metadone.client.grasyla2.generic.ListEngine.ATTR_SEP, metadone.client.grasyla2.generic.ListEngine.buildComponent(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.getAttribute(), metadone.client.grasyla2.GrasylaEngine.getComponent(), metadone.client.grasyla2.GrasylaEngine.getState(), metadone.client.grasyla2.GrasylaEngine.ChildComponent.isAttribute(), and metadone.client.grasyla2.GrasylaEngine.updateComponent().
Component<?> metadone.client.grasyla2.generic.ListEngine.updateToConcreteObject | ( | ConcreteObjectGroupChange | event | ) | [protected] |
Called when the object group has been changed.
This method MUST be overwritten completely when setCanUpdateObject(boolean) is set to true
.
event | The event |
Reimplemented from metadone.client.grasyla2.GrasylaEngine.
References metadone.client.grasyla2.generic.ListEngine.ATTR_SEP, metadone.client.grasyla2.GrasylaEngine.buildChild(), metadone.client.grasyla2.generic.ListEngine.buildComponent(), metadone.client.grasyla2.generic.ListEngine.buildSeparator(), metadone.client.grasyla2.GrasylaEngine.children, metadone.client.grasyla2.generic.ListEngine.findEngine(), metadone.client.grasyla2.GrasylaEngine.findIndex(), metadone.client.display.ConcreteObjectGroup.forInstance(), metadone.client.grasyla2.GrasylaEngine.getChildComponent(), metadone.client.grasyla2.GrasylaEngine.getChildren(), metadone.client.grasyla2.GrasylaEngine.getComponent(), metadone.client.grasyla2.GrasylaEngine.getContext(), metadone.client.display.ConcreteObjectGroup.getHead(), metadone.client.display.ConcreteObjectGroup.getMultiplicity(), metadone.client.grasyla2.actions.ConcreteObjectGroupChange.isOrdered(), metadone.client.grasyla2.GrasylaEngine.logger, metadone.client.grasyla2.GrasylaEngine.removeChild(), and metadone.client.grasyla2.generic.ListEngine.separator.
final String metadone.client.grasyla2.generic.ListEngine.ATTR_SEP = "separator" [static, private] |
Referenced by metadone.client.grasyla2.generic.ListEngine.buildComponent(), metadone.client.grasyla2.generic.ListEngine.buildNewComponent(), metadone.client.grasyla2.generic.ListEngine.buildSeparator(), metadone.client.grasyla2.generic.ListEngine.isNativeAttribute(), metadone.client.grasyla2.generic.ListEngine.notifyChildChanged(), and metadone.client.grasyla2.generic.ListEngine.updateToConcreteObject().