agg.attribute.facade.impl
Class DefaultInformationFacade

java.lang.Object
  extended by agg.attribute.facade.impl.DefaultInformationFacade
All Implemented Interfaces:
InformationFacade

public class DefaultInformationFacade
extends java.lang.Object
implements InformationFacade

Collection of methods for storing and retrieving information in attribute tuples and members.


Field Summary
protected static DefaultInformationFacade myOnlyInstance
           
 
Constructor Summary
protected DefaultInformationFacade()
           
 
Method Summary
 AttrTypeMember addMember(AttrType tupleType)
          Adding an empty member declaration to a tuple type.
 AttrTypeMember addMember(AttrType tupleType, AttrHandler handler, java.lang.String memberType, java.lang.String name)
          Adding a member declaration to a tuple type.
 void addObserver(AttrTuple tuple, AttrObserver attrObs)
          Adding a new attribute observer.
 AttrInstance createTupleInstance(AttrType type, AttrContext context)
          Creating a new attribute instance of the required type and in the given context or a context view.
 AttrType createTupleType()
          Returns a new attribute tuple type, using the default attribute manager.
 void deleteMemberAt(AttrType tupleType, int index)
          Delete a member declaration from a tuple type.
 void deleteMemberAt(AttrType tupleType, java.lang.String name)
          Delete a member declaration from a tuple type.
 AttrManager getAttrManager()
          Returns the default attribute manager which can be used for advanced operations not provided by this facade.
 AttrTypeMember getDeclaration(AttrInstanceMember instanceMember)
          Retrieving an instance member's type.
 HandlerExpr getExpr(AttrInstanceMember instanceMember)
          Retrieving the expression (value) contained in a member.
 java.lang.Object getExprAsObject(AttrInstanceMember instanceMember)
          Retrieving the value of a member.
 java.lang.String getExprAsText(AttrInstanceMember instanceMember)
          Returns the textual representation of a member's expression.
 AttrHandler getHandler(AttrTypeMember memberDecl)
          Retrieving the member attribute handler.
 AttrInstanceMember getInstanceMemberAt(AttrInstance tupleInstance, int index)
          Getting a tuple instance member by its absolute (view-independent) index.
 AttrInstanceMember getInstanceMemberAt(AttrInstance tupleInstance, java.lang.String name)
          Getting a tuple instance member by its declaration name.
 AttrHandler getJavaHandler()
          Returns the java expression handler.
 java.lang.String getName(AttrTypeMember memberDecl)
          Retrieving the member name.
 HandlerType getType(AttrTypeMember memberDecl)
          Retrieving the type.
 AttrTypeMember getTypeMemberAt(AttrType tupleType, int index)
          Getting a tuple type member by its absolute (view-independent) index.
 AttrTypeMember getTypeMemberAt(AttrType tupleType, java.lang.String name)
          Getting a tuple type member by its declaration name.
 java.lang.String getTypeName(AttrTypeMember memberDecl)
          Retrieving the member type name as string.
 boolean isSet(AttrInstanceMember instanceMember)
          Test, if the member value is set or not.
 void removeObserver(AttrTuple tuple, AttrObserver attrObs)
          Removing an attribute observer from the list of observers.
static InformationFacade self()
           
 void setExpr(AttrInstanceMember instanceMember, HandlerExpr expr)
          Setting the expression (value) contained in this member.
 void setExprAsEvaluatedText(AttrInstanceMember instanceMember, java.lang.String expr)
          Evaluating an expression and setting its value as a member's entry.
 void setExprAsObject(AttrInstanceMember instanceMember, java.lang.Object value)
          Setting the value of an instance member directly.
 void setExprAsText(AttrInstanceMember instanceMember, java.lang.String expr)
          Setting an expression for a member without immediate evaluation.
 void setHandler(AttrTypeMember memberDecl, AttrHandler h)
          Setting the member attribute handler.
 void setName(AttrTypeMember memberDecl, java.lang.String memberName)
          Setting a member type name.
 void setType(AttrTypeMember memberDecl, java.lang.String typeName)
          Setting the member type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myOnlyInstance

protected static DefaultInformationFacade myOnlyInstance
Constructor Detail

DefaultInformationFacade

protected DefaultInformationFacade()
Method Detail

self

public static InformationFacade self()

getAttrManager

public AttrManager getAttrManager()
Returns the default attribute manager which can be used for advanced operations not provided by this facade.

Specified by:
getAttrManager in interface InformationFacade

getJavaHandler

public AttrHandler getJavaHandler()
Returns the java expression handler. This can then be used for creating a tuple type member.

Specified by:
getJavaHandler in interface InformationFacade

addObserver

public void addObserver(AttrTuple tuple,
                        AttrObserver attrObs)
Adding a new attribute observer.

Specified by:
addObserver in interface InformationFacade
Parameters:
tuple - The attribute tuple (type or instance) to observe.
attrObs - The attribute observer to be registered.

removeObserver

public void removeObserver(AttrTuple tuple,
                           AttrObserver attrObs)
Removing an attribute observer from the list of observers.

Specified by:
removeObserver in interface InformationFacade
Parameters:
tuple - The attribute tuple (type or instance) observed.
attrObs - The attribute observer to be registered.

createTupleType

public AttrType createTupleType()
Returns a new attribute tuple type, using the default attribute manager.

Specified by:
createTupleType in interface InformationFacade

addMember

public AttrTypeMember addMember(AttrType tupleType,
                                AttrHandler handler,
                                java.lang.String memberType,
                                java.lang.String name)
Adding a member declaration to a tuple type.

Specified by:
addMember in interface InformationFacade
Parameters:
tupleType - the tuple type to be extended.
handler - attribute handler for the entry type;
memberType - textual representation of the member type;
name - name (selector) of the entry within the attribute tuple. The new declaration member is returned and can be extended by calling the respective AttrTypeMember methods.

addMember

public AttrTypeMember addMember(AttrType tupleType)
Adding an empty member declaration to a tuple type.

Specified by:
addMember in interface InformationFacade
Parameters:
tupleType - the tuple type to be extended. The new declaration member is returned and can be extended by calling the respective AttrTypeMember methods.

deleteMemberAt

public void deleteMemberAt(AttrType tupleType,
                           java.lang.String name)
Delete a member declaration from a tuple type.

Specified by:
deleteMemberAt in interface InformationFacade
Parameters:
tupleType - the tuple type.
name - name (selector) of the entry within the attribute tuple.

deleteMemberAt

public void deleteMemberAt(AttrType tupleType,
                           int index)
Delete a member declaration from a tuple type.

Specified by:
deleteMemberAt in interface InformationFacade
Parameters:
tupleType - the tuple type.
index - index of the member within the attribute tuple.

getTypeMemberAt

public AttrTypeMember getTypeMemberAt(AttrType tupleType,
                                      int index)
Getting a tuple type member by its absolute (view-independent) index.

Specified by:
getTypeMemberAt in interface InformationFacade

getTypeMemberAt

public AttrTypeMember getTypeMemberAt(AttrType tupleType,
                                      java.lang.String name)
Getting a tuple type member by its declaration name.

Specified by:
getTypeMemberAt in interface InformationFacade

getName

public java.lang.String getName(AttrTypeMember memberDecl)
Retrieving the member name.

Specified by:
getName in interface InformationFacade

setName

public void setName(AttrTypeMember memberDecl,
                    java.lang.String memberName)
Setting a member type name.

Specified by:
setName in interface InformationFacade

getType

public HandlerType getType(AttrTypeMember memberDecl)
Retrieving the type. Returns null if no type is set or if the type is not valid.

Specified by:
getType in interface InformationFacade

getTypeName

public java.lang.String getTypeName(AttrTypeMember memberDecl)
Retrieving the member type name as string.

Specified by:
getTypeName in interface InformationFacade

setType

public void setType(AttrTypeMember memberDecl,
                    java.lang.String typeName)
Setting the member type.

Specified by:
setType in interface InformationFacade

getHandler

public AttrHandler getHandler(AttrTypeMember memberDecl)
Retrieving the member attribute handler.

Specified by:
getHandler in interface InformationFacade

setHandler

public void setHandler(AttrTypeMember memberDecl,
                       AttrHandler h)
Setting the member attribute handler.

Specified by:
setHandler in interface InformationFacade

createTupleInstance

public AttrInstance createTupleInstance(AttrType type,
                                        AttrContext context)
Creating a new attribute instance of the required type and in the given context or a context view. In Graph Transformation, it is used for creating a new attribute in a rule.

Specified by:
createTupleInstance in interface InformationFacade
Parameters:
type - The type to use
context - The context to use, can be null
Returns:
The new attribute instance

getInstanceMemberAt

public AttrInstanceMember getInstanceMemberAt(AttrInstance tupleInstance,
                                              int index)
Getting a tuple instance member by its absolute (view-independent) index.

Specified by:
getInstanceMemberAt in interface InformationFacade

getInstanceMemberAt

public AttrInstanceMember getInstanceMemberAt(AttrInstance tupleInstance,
                                              java.lang.String name)
Getting a tuple instance member by its declaration name.

Specified by:
getInstanceMemberAt in interface InformationFacade

getDeclaration

public AttrTypeMember getDeclaration(AttrInstanceMember instanceMember)
Retrieving an instance member's type.

Specified by:
getDeclaration in interface InformationFacade

isSet

public boolean isSet(AttrInstanceMember instanceMember)
Test, if the member value is set or not.

Specified by:
isSet in interface InformationFacade

getExpr

public HandlerExpr getExpr(AttrInstanceMember instanceMember)
Retrieving the expression (value) contained in a member. The result can be queried and set according to the agg.attribute.handler.HandlerExpr interface.

Specified by:
getExpr in interface InformationFacade

setExpr

public void setExpr(AttrInstanceMember instanceMember,
                    HandlerExpr expr)
Setting the expression (value) contained in this member.

Specified by:
setExpr in interface InformationFacade

getExprAsObject

public java.lang.Object getExprAsObject(AttrInstanceMember instanceMember)
Retrieving the value of a member. If the result is 'null', the reason can be: 1. The value is set as 'null'; 2. The value is not set at all. For testing if the value was set as 'null' or not set at all, use 'isSet()' of this interface.

Specified by:
getExprAsObject in interface InformationFacade

setExprAsObject

public void setExprAsObject(AttrInstanceMember instanceMember,
                            java.lang.Object value)
Setting the value of an instance member directly.

Specified by:
setExprAsObject in interface InformationFacade
Parameters:
instanceMember - The member of an attribute tuple instance.
value - Any object instance.

getExprAsText

public java.lang.String getExprAsText(AttrInstanceMember instanceMember)
Returns the textual representation of a member's expression.

Specified by:
getExprAsText in interface InformationFacade

setExprAsEvaluatedText

public void setExprAsEvaluatedText(AttrInstanceMember instanceMember,
                                   java.lang.String expr)
Evaluating an expression and setting its value as a member's entry.

Specified by:
setExprAsEvaluatedText in interface InformationFacade
Parameters:
instanceMember - The member of an attribute tuple instance.
expr - textual expression representation;

setExprAsText

public void setExprAsText(AttrInstanceMember instanceMember,
                          java.lang.String expr)
Setting an expression for a member without immediate evaluation. Syntax and type checking are performed.

Specified by:
setExprAsText in interface InformationFacade
Parameters:
instanceMember - The member of an attribute tuple instance.
expr - textual expression representation;