MetaDone
metadone.client.grasyla2.generic.ListEngine Class Reference
Inheritance diagram for metadone.client.grasyla2.generic.ListEngine:
Collaboration diagram for metadone.client.grasyla2.generic.ListEngine:

List of all members.

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"

Detailed Description

Creates a list.

Attributes
  • separator (native): the component used as the separator between elements

Contents

none

Result

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].

Notes
This component supports updating of the objects in the context.
Author:
kma

Constructor & Destructor Documentation

metadone.client.grasyla2.generic.ListEngine.ListEngine ( GrasylaContext  context,
ConcreteObject  expression,
Engine  parent 
) throws BadPreCondition

Initializes this engine.

Parameters:
contextThe context
expressionThe expression
parentThe parent or null
Exceptions:
BadPreCondition

References metadone.client.grasyla2.GrasylaEngine.context, metadone.client.grasyla2.GrasylaEngine.expression, metadone.client.grasyla2.GrasylaEngine.parent, and metadone.client.grasyla2.GrasylaEngine.setCanUpdateObject().


Member Function Documentation

protected<C> Component<? extends C> metadone.client.grasyla2.generic.ListEngine.buildSeparator ( Class< C >  clComp,
int  pos 
) throws BadPreCondition [package]

Builds the separator.

Parameters:
<C>The class
clCompThe component
posThe position where the separator will be inserted or -1 for the end of the list
Returns:
The component for the separator
Exceptions:
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.

Parameters:
nameThe name of the attribute
Returns:
true if name is a native attribute

Reimplemented from metadone.client.grasyla2.GrasylaEngine.

References metadone.client.grasyla2.generic.ListEngine.ATTR_SEP.


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations