agg.attribute.impl
Class TupleObject

java.lang.Object
  extended by agg.attribute.impl.AttrObject
      extended by agg.attribute.impl.ManagedObject
          extended by agg.attribute.impl.ChainedObserver
              extended by agg.attribute.impl.TupleObject
All Implemented Interfaces:
AttrObserver, AttrTuple, Disposable, java.io.Serializable, java.util.Observer
Direct Known Subclasses:
DeclTuple, ValueTuple

public abstract class TupleObject
extends ChainedObserver
implements AttrTuple, Disposable

Partial implementation of the interface agg.attribute.AttrTuple.

See Also:
AttrTuple, Serialized Form

Field Summary
protected  java.util.Vector<AttrMember> members
          Container with members, all of which implement the AttrMember interface.
protected  TupleObject parent
          Parent of this type.
 
Fields inherited from class agg.attribute.impl.ChainedObserver
MAX_SIZE_OF_EVENT_STACK, sizeOfEventStack
 
Fields inherited from class agg.attribute.impl.ManagedObject
manager
 
Fields inherited from class agg.attribute.impl.AttrObject
classHandlerExpr, classObject, classString, initialized
 
Fields inherited from interface agg.attribute.AttrObserver
serialVersionUID
 
Constructor Summary
TupleObject(AttrTupleManager manager, TupleObject parent)
           
 
Method Summary
protected  void addMember(AttrMember member)
           
protected  void addMember(int index, AttrMember member)
           
protected  void assignParent(TupleObject newParent)
           
protected  void deleteMemberAt(int index)
           
 void dispose()
          Prepare myself for garbage collection.
protected  AttrViewSetting ensureNonNull(AttrViewSetting viewSetting)
           
protected  void finalize()
           
protected  AttrViewSetting getForm()
           
 int getIndexForMember(AttrMember m)
          Translation between address- and number-oriented access.
 int getIndexForName(java.lang.String name)
          Translation between number- and name-oriented access.
protected  int getIndexInView(AttrViewSetting viewSetting, int slot)
          Transforming a mask entry index into the real index.
 AttrMember getMemberAt(AttrViewSetting viewSetting, int slot)
          Getting a tuple member by its view-dependent index.
 AttrMember getMemberAt(int index)
          Getting a tuple member by its absolute (view-independent) index.
 AttrMember getMemberAt(java.lang.String name)
          Getting a tuple member by its declaration name.
 java.lang.String getNameAsString(AttrViewSetting viewSetting, int entryIndex)
          Getting a view-dependent representation of a type as String.
 java.lang.String getNameAsString(int index)
          Getting a simple representation of a name as String.
 int getNumberOfEntries()
          Getting the total number of shown attribute entries (lines); The retrieval index range is [0 ..
 int getNumberOfEntries(AttrViewSetting viewSetting)
          Getting the view-dependent number of attribute entries (lines).
protected  TupleObject getParent()
           
protected  TupleObject getParentInCharge(int index)
           
 int getParentSize()
          Obtaining the size of the current parent.
 int getSize()
           
abstract  DeclTuple getTupleType()
          This method interface is needed in order to treat attribute types and instances uniformly.
 AttrType getType()
           
 java.lang.String getTypeAsString(AttrViewSetting viewSetting, int entryIndex)
          Getting a view-dependent representation of a type as String.
 java.lang.String getTypeAsString(int index)
          Getting a simple representation of a type as String.
 java.lang.String getValueAsString(AttrViewSetting viewSetting, int entryIndex)
          Getting a view-dependent representation of a type as String.
 java.lang.String getValueAsString(int index)
          Getting a view-independent representation of a value as String.
 boolean isSubclassOf(TupleObject maybeParent)
          Inheritance mechanism: Checking inheritance relation.
 boolean isValid()
          Testing if the tuple is consistent and complete.
 void memberChanged(int code, AttrMember member)
           
protected  void propagateEvent(TupleEvent e)
          Propagates the event to the observers, pretending to be the source.
protected  void rawAddMember(AttrMember member)
           
protected  void rawAddMember(int index, AttrMember member)
           
protected  void rawDeleteMemberAt(int index)
           
protected  AttrMember rawGetMemberAt(int index)
           
protected  int rawGetSize()
           
protected  void setForm(AttrViewSetting formSetting)
           
 
Methods inherited from class agg.attribute.impl.ChainedObserver
addObserver, addObserverAtPos, attributeChanged, contains, filterEvent, findObserver, fireAttrChanged, fireAttrChanged, fireAttrChanged, getObservers, isPersistentFor, removeObserver, updateGeneralChange, updateMemberAdded, updateMemberDeleted, updateMemberModified, updateMemberRenamed, updateMemberRetyped, updateUnknownChange, updateValueCorrectness, updateValueModified
 
Methods inherited from class agg.attribute.impl.ManagedObject
getAttrManager, getManager
 
Methods inherited from class agg.attribute.impl.AttrObject
defaultToString, err, err, getInstRepr, log, log, log, logEnteredMethod, logPrintln, logPrintln, stdoutPrintOnEnter, stdoutPrintOnExit, toString, update, warn, warn, warn, warn
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface agg.attribute.AttrTuple
addObserver, getAttrManager, removeObserver
 

Field Detail

parent

protected TupleObject parent
Parent of this type. All parent entries are "inherited".


members

protected java.util.Vector<AttrMember> members
Container with members, all of which implement the AttrMember interface.

See Also:
AttrMember
Constructor Detail

TupleObject

public TupleObject(AttrTupleManager manager,
                   TupleObject parent)
Method Detail

finalize

protected void finalize()
Overrides:
finalize in class java.lang.Object

dispose

public void dispose()
Description copied from interface: Disposable
Prepare myself for garbage collection.

Specified by:
dispose in interface Disposable

assignParent

protected void assignParent(TupleObject newParent)
Parameters:
newParent -

propagateEvent

protected void propagateEvent(TupleEvent e)
Propagates the event to the observers, pretending to be the source.

Specified by:
propagateEvent in class ChainedObserver

memberChanged

public void memberChanged(int code,
                          AttrMember member)

rawGetSize

protected int rawGetSize()

rawGetMemberAt

protected AttrMember rawGetMemberAt(int index)

rawAddMember

protected void rawAddMember(AttrMember member)

rawAddMember

protected void rawAddMember(int index,
                            AttrMember member)

rawDeleteMemberAt

protected void rawDeleteMemberAt(int index)

getTupleType

public abstract DeclTuple getTupleType()
This method interface is needed in order to treat attribute types and instances uniformly.

Specified by:
getTupleType in interface AttrTuple

getType

public AttrType getType()

getForm

protected AttrViewSetting getForm()

setForm

protected void setForm(AttrViewSetting formSetting)

ensureNonNull

protected AttrViewSetting ensureNonNull(AttrViewSetting viewSetting)

getIndexInView

protected int getIndexInView(AttrViewSetting viewSetting,
                             int slot)
Transforming a mask entry index into the real index.


getParent

protected TupleObject getParent()
Returns:
parent TupleObject

getParentSize

public int getParentSize()
Obtaining the size of the current parent.


getParentInCharge

protected TupleObject getParentInCharge(int index)
Returns:
The ancestor that originated the member at 'index'.

addMember

protected void addMember(AttrMember member)

addMember

protected void addMember(int index,
                         AttrMember member)

deleteMemberAt

protected void deleteMemberAt(int index)

isSubclassOf

public boolean isSubclassOf(TupleObject maybeParent)
Inheritance mechanism: Checking inheritance relation.


getSize

public int getSize()

isValid

public boolean isValid()
Description copied from interface: AttrTuple
Testing if the tuple is consistent and complete.

Specified by:
isValid in interface AttrTuple

getMemberAt

public AttrMember getMemberAt(int index)
Description copied from interface: AttrTuple
Getting a tuple member by its absolute (view-independent) index.

Specified by:
getMemberAt in interface AttrTuple

getMemberAt

public AttrMember getMemberAt(AttrViewSetting viewSetting,
                              int slot)
Description copied from interface: AttrTuple
Getting a tuple member by its view-dependent index.

Specified by:
getMemberAt in interface AttrTuple

getMemberAt

public AttrMember getMemberAt(java.lang.String name)
Description copied from interface: AttrTuple
Getting a tuple member by its declaration name.

Specified by:
getMemberAt in interface AttrTuple

getIndexForName

public int getIndexForName(java.lang.String name)
Translation between number- and name-oriented access.

Returns:
The corresponding index if the name is declared within the tuple, -1 otherwise.

getIndexForMember

public int getIndexForMember(AttrMember m)
Translation between address- and number-oriented access.

Specified by:
getIndexForMember in interface AttrTuple
Returns:
The corresponding index if the member is within the tuple, -1 otherwise.

getNumberOfEntries

public int getNumberOfEntries()
Getting the total number of shown attribute entries (lines); The retrieval index range is [0 .. (getNumberOfEntries() - 1)].

Specified by:
getNumberOfEntries in interface AttrTuple

getTypeAsString

public java.lang.String getTypeAsString(int index)
Getting a simple representation of a type as String.

Specified by:
getTypeAsString in interface AttrTuple
Parameters:
index - Index of entry.

getNameAsString

public java.lang.String getNameAsString(int index)
Getting a simple representation of a name as String.

Specified by:
getNameAsString in interface AttrTuple
Parameters:
index - Index of entry.

getValueAsString

public java.lang.String getValueAsString(int index)
Description copied from interface: AttrTuple
Getting a view-independent representation of a value as String.

Specified by:
getValueAsString in interface AttrTuple
Parameters:
index - Index of entry.

getNumberOfEntries

public int getNumberOfEntries(AttrViewSetting viewSetting)
Description copied from interface: AttrTuple
Getting the view-dependent number of attribute entries (lines). The retrieval index range is [0 .. (getNumberOfEntries() - 1)].

Specified by:
getNumberOfEntries in interface AttrTuple
Parameters:
viewSetting - The view context which mandates how attribute tuples have to be represented.

getTypeAsString

public java.lang.String getTypeAsString(AttrViewSetting viewSetting,
                                        int entryIndex)
Description copied from interface: AttrTuple
Getting a view-dependent representation of a type as String.

Specified by:
getTypeAsString in interface AttrTuple
Parameters:
viewSetting - The view context which mandates how attribute tuples have to be represented.
entryIndex - Index of entry.

getNameAsString

public java.lang.String getNameAsString(AttrViewSetting viewSetting,
                                        int entryIndex)
Description copied from interface: AttrTuple
Getting a view-dependent representation of a type as String.

Specified by:
getNameAsString in interface AttrTuple
Parameters:
viewSetting - The view context which mandates how attribute tuples have to be represented.
entryIndex - Index of entry.

getValueAsString

public java.lang.String getValueAsString(AttrViewSetting viewSetting,
                                         int entryIndex)
Description copied from interface: AttrTuple
Getting a view-dependent representation of a type as String.

Specified by:
getValueAsString in interface AttrTuple
Parameters:
viewSetting - The view context which mandates how attribute tuples have to be represented.
entryIndex - Index of entry.