agg.attribute.impl
Class VarTuple

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
                  extended by agg.attribute.impl.ValueTuple
                      extended by agg.attribute.impl.LoneTuple
                          extended by agg.attribute.impl.VarTuple
All Implemented Interfaces:
AttrInstance, AttrObserver, AttrTuple, AttrVariableTuple, AttrMsgCode, Disposable, XMLObject, java.io.Serializable, java.util.Observer

public class VarTuple
extends LoneTuple
implements AttrVariableTuple

Adds the possibility of being shared. Needed as the container of variable values inside a context core.

See Also:
Serialized Form

Field Summary
protected  int FIXED_VALUE
          A special value designating that the assignment was done in the parent context and this context's references don't count; such a value is permanent, it may not be changed by this value tuple.
 
Fields inherited from class agg.attribute.impl.ValueTuple
errorMsg, type
 
Fields inherited from class agg.attribute.impl.TupleObject
members, parent
 
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.impl.AttrMsgCode
ATTR_DONT_MATCH, BAD_EXPR_TYPE, EXPR_EVAL_ERR, EXPR_MUST_BE_CONST, EXPR_MUST_BE_CONST_OR_VAR, EXPR_PARSE_ERR, EXPR_REQUIRED, MATCH_TARGETS_DIFFER, NAME_DUPLICATION, NO_SUCH_NAME, NO_SUCH_TYPE, OK, RULE_SOURCES_DIFFER, VAR_NOT_DECLARED
 
Constructor Summary
VarTuple(AttrTupleManager manager, ContextView context, ValueTuple parent)
           
 
Method Summary
 boolean areInputParametersSet()
          Checks if all input parameter are set.
 void clear()
           
 boolean compareTo(AttrInstance another)
           
 void declare(AttrHandler handler, java.lang.String typestr, java.lang.String name)
           
 void deleteLeafDeclaration(java.lang.String name)
           
 void dispose()
          Prepare myself for garbage collection.
protected  void finalize()
           
 java.lang.String getErrorMsg()
           
protected  java.lang.String getLogEntry(int index)
          Subprocedure for 'log()', creates a text showing the entry at 'index'
 java.util.Vector<java.lang.String> getUndefiniteVariables()
           
 java.util.Vector<java.lang.String> getVariableNames()
           
 VarMember getVarMemberAt(int index)
           
 VarMember getVarMemberAt(java.lang.String name)
           
 boolean hasInputParameter()
          Checks if there is input parameter.
 boolean isDeclared(java.lang.String name)
           
 boolean isDeclared(java.lang.String typestr, java.lang.String name)
           
 boolean isDeclared(java.util.Vector<java.lang.String> varNames)
           
 boolean isDefinite()
          Test, if all members can yield true or false.
 void makeCopyOf(VarTuple tuple)
           
protected  ValueMember newMember(DeclMember decl)
           
 void propagateValueFromParent()
           
 void showVariables()
           
 java.lang.String toString()
           
 void unsetInputParameters()
           
 void unsetNotInputVariables()
           
 void unsetVariables()
          checks if all output parameter are set. if there are no parameter this method return true. public boolean areOutputParametersSet(){ int size = getSize(); if (size == 0) return true; for (int i = 0; i
 void XreadObject(XMLHelper h)
           
 void XwriteObject(XMLHelper h)
           
 
Methods inherited from class agg.attribute.impl.ValueTuple
adaptToType, adoptEntriesWhereEmpty, apply, apply, apply, apply, apply, apply, assignParent, canMatchChild2Parent, canMatchTo, copy, copyEntries, copyEntriesToSimilarMembers, getAllVariableNames, getAllVariableNamesOfExpressions, getContext, getContextView, getEntryAt, getEntryAt, getEntryWithValueAsText, getNumberOfFreeVariables, getTupleType, getValueAsString, getValueAt, getValueMemberAt, getValueMemberAt, isEmpty, isValueSetAt, isValueSetAt, log, logPrintln, matchChild2Parent, matchTo, propagateEvent, refreshParents, setContextView, setExprAt, setExprValueAt, setType, setValueAt, setValueAt, setValueAt, showValue, unsetValue, updateMemberAdded, updateMemberDeleted, updateMemberRetyped, updateMemberValueChanged
 
Methods inherited from class agg.attribute.impl.TupleObject
addMember, addMember, deleteMemberAt, ensureNonNull, getForm, getIndexForMember, getIndexForName, getIndexInView, getMemberAt, getMemberAt, getMemberAt, getNameAsString, getNameAsString, getNumberOfEntries, getNumberOfEntries, getParent, getParentInCharge, getParentSize, getSize, getType, getTypeAsString, getTypeAsString, getValueAsString, isSubclassOf, isValid, memberChanged, rawAddMember, rawAddMember, rawDeleteMemberAt, rawGetMemberAt, rawGetSize, setForm
 
Methods inherited from class agg.attribute.impl.ChainedObserver
addObserver, addObserverAtPos, attributeChanged, contains, filterEvent, findObserver, fireAttrChanged, fireAttrChanged, fireAttrChanged, getObservers, isPersistentFor, removeObserver, updateGeneralChange, updateMemberModified, updateMemberRenamed, 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, logEnteredMethod, logPrintln, stdoutPrintOnEnter, stdoutPrintOnExit, 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.AttrVariableTuple
getSize
 
Methods inherited from interface agg.attribute.AttrInstance
apply, apply, apply, apply, copy, copyEntries, getContext, getNumberOfFreeVariables, getType, getValueAt, isValueSetAt, setExprAt, setExprValueAt, setValueAt, unsetValue
 
Methods inherited from interface agg.attribute.AttrTuple
addObserver, getAttrManager, getIndexForMember, getMemberAt, getMemberAt, getMemberAt, getNameAsString, getNameAsString, getNumberOfEntries, getNumberOfEntries, getTupleType, getTypeAsString, getTypeAsString, getValueAsString, getValueAsString, isValid, removeObserver
 

Field Detail

FIXED_VALUE

protected final int FIXED_VALUE
A special value designating that the assignment was done in the parent context and this context's references don't count; such a value is permanent, it may not be changed by this value tuple.

See Also:
Constant Field Values
Constructor Detail

VarTuple

public VarTuple(AttrTupleManager manager,
                ContextView context,
                ValueTuple parent)
Method Detail

propagateValueFromParent

public void propagateValueFromParent()

clear

public void clear()

dispose

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

Specified by:
dispose in interface Disposable
Overrides:
dispose in class TupleObject

finalize

protected void finalize()
Overrides:
finalize in class TupleObject

makeCopyOf

public void makeCopyOf(VarTuple tuple)

getErrorMsg

public java.lang.String getErrorMsg()
Overrides:
getErrorMsg in class ValueTuple

newMember

protected ValueMember newMember(DeclMember decl)
Overrides:
newMember in class ValueTuple

getLogEntry

protected java.lang.String getLogEntry(int index)
Description copied from class: ValueTuple
Subprocedure for 'log()', creates a text showing the entry at 'index'

Overrides:
getLogEntry in class ValueTuple

getVarMemberAt

public VarMember getVarMemberAt(int index)
Specified by:
getVarMemberAt in interface AttrVariableTuple

getVarMemberAt

public VarMember getVarMemberAt(java.lang.String name)
Specified by:
getVarMemberAt in interface AttrVariableTuple

isDeclared

public boolean isDeclared(java.lang.String name)

isDeclared

public boolean isDeclared(java.lang.String typestr,
                          java.lang.String name)

declare

public void declare(AttrHandler handler,
                    java.lang.String typestr,
                    java.lang.String name)

deleteLeafDeclaration

public void deleteLeafDeclaration(java.lang.String name)

isDeclared

public boolean isDeclared(java.util.Vector<java.lang.String> varNames)

hasInputParameter

public boolean hasInputParameter()
Checks if there is input parameter.


areInputParametersSet

public boolean areInputParametersSet()
Checks if all input parameter are set. If there are no parameter this method returns true.

Specified by:
areInputParametersSet in interface AttrVariableTuple

unsetInputParameters

public void unsetInputParameters()

unsetVariables

public void unsetVariables()
checks if all output parameter are set. if there are no parameter this method return true. public boolean areOutputParametersSet(){ int size = getSize(); if (size == 0) return true; for (int i = 0; i

unsetNotInputVariables

public void unsetNotInputVariables()

isDefinite

public boolean isDefinite()
Test, if all members can yield true or false.

Specified by:
isDefinite in interface AttrVariableTuple

getUndefiniteVariables

public java.util.Vector<java.lang.String> getUndefiniteVariables()

getVariableNames

public java.util.Vector<java.lang.String> getVariableNames()
Specified by:
getVariableNames in interface AttrVariableTuple

compareTo

public boolean compareTo(AttrInstance another)
Specified by:
compareTo in interface AttrInstance
Overrides:
compareTo in class ValueTuple

toString

public java.lang.String toString()
Overrides:
toString in class ValueTuple

showVariables

public void showVariables()

XwriteObject

public void XwriteObject(XMLHelper h)
Specified by:
XwriteObject in interface XMLObject
Overrides:
XwriteObject in class ValueTuple

XreadObject

public void XreadObject(XMLHelper h)
Specified by:
XreadObject in interface XMLObject
Overrides:
XreadObject in class ValueTuple