ConForM.CoopnTools.CoKer.CoopnMgr
Class CoopnTermVariable

java.lang.Object
  |
  +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
        |
        +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSymbol
              |
              +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTermVariable
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable, CoopnMetaElement, CoopnSyntacticElement, CoopnSyntacticParamSymbol, CoopnSyntacticSymbol, java.io.Serializable

public class CoopnTermVariable
extends CoopnSymbol
implements CoopnSyntacticParamSymbol, CoopnMetaElement

Coopn term VARIABLE.

See Also:
, Serialized Form

Constructor Summary
CoopnTermVariable(CoopnName name, CoopnModuleName module, CoopnType type)
          Simple constructor.
CoopnTermVariable(CoopnName name, CoopnModuleName module, CoopnType type, java.lang.String comment)
          Simple constructor.
CoopnTermVariable(CoopnName name, java.lang.String identifier, CoopnModuleName module, CoopnType type)
          Simple constructor.
CoopnTermVariable(CoopnName name, java.lang.String identifier, CoopnModuleName module, CoopnType type, java.lang.String comment)
          Simple constructor.
 
Method Summary
 java.lang.Object clone()
          Cloning method.
 boolean equals(java.lang.Object obj)
          Equality method.
 boolean equivalent(java.lang.Object obj)
          Equivalence testing method.
 CoopnElement interpret(CoopnSubstitution sigma)
          Interpretation of this element according to a substitution.
 java.lang.String kind()
          Kind retrieving method.
 CoopnSyntacticElement paramType()
          Get an element, representing the "type" (in a broad sense) of the parameter.
 boolean pureCOIL()
          Pure COIL-COOPN2C verification method.
 boolean pureCOOPN()
          Pure COOPN verification method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoElement toCoco(CoopnSymbolTable table)
          CoCo conversion method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toCompleteText(CoopnSymbolTable table)
          Complete textual elements conversion method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toText()
          Textual elements conversion method.
 CoopnType type()
          Return the type.
 java.lang.Object unmodifiableCopy()
          Copy the element into an unmodifiable structure.
 
Methods inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSymbol
arity, cloneCoopnElement, comment, compareTo, decompose, equalsCoopnSymbol, equivalentCoopnSymbol, hashCode, identifier, indexCoopnSymbol, module, name, symbolModule, symbolModuleKind, symbolName, toTextCoopnSymbol, unmodifiableSymbol, usedCoopnSymbol
 
Methods inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
toCompleteString, toCompleteString, toCompleteString, toCompleteString, toCompleteString, toCompleteString, toCompleteText, toCompleteTokens, toCompleteTokens, toCompleteTokens, toCompleteTokens, toCompleteTokens, toCompleteTokens, toString, toString, toString, toTokens, toTokens, toTokens
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ConForM.CoopnTools.CoKer.CoopnSyntacticSymbol
comment, identifier, symbolModule, symbolModuleKind, symbolName
 
Methods inherited from interface ConForM.CoopnTools.CoKer.CoopnSyntacticElement
hashCode, toCompleteString, toCompleteString, toCompleteString, toString, toString, toString
 

Constructor Detail

CoopnTermVariable

public CoopnTermVariable(CoopnName name,
                         java.lang.String identifier,
                         CoopnModuleName module,
                         CoopnType type)
                  throws java.lang.IllegalArgumentException
Simple constructor.

CoopnTermVariable

public CoopnTermVariable(CoopnName name,
                         CoopnModuleName module,
                         CoopnType type)
                  throws java.lang.IllegalArgumentException
Simple constructor.

CoopnTermVariable

public CoopnTermVariable(CoopnName name,
                         java.lang.String identifier,
                         CoopnModuleName module,
                         CoopnType type,
                         java.lang.String comment)
                  throws java.lang.IllegalArgumentException
Simple constructor.

CoopnTermVariable

public CoopnTermVariable(CoopnName name,
                         CoopnModuleName module,
                         CoopnType type,
                         java.lang.String comment)
                  throws java.lang.IllegalArgumentException
Simple constructor.
Method Detail

interpret

public CoopnElement interpret(CoopnSubstitution sigma)
Description copied from class: CoopnSymbol
Interpretation of this element according to a substitution. Actually returns a clone of the element itself. This strategy is valid for all symbols, except for meta-element symbols.
Overrides:
interpret in class CoopnSymbol
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSymbol
Parameters:
sigma - the substitution; cannot be null
Returns:
a clone of the element, as the interpretation of a symbol is usually the same symbol.

paramType

public CoopnSyntacticElement paramType()
Get an element, representing the "type" (in a broad sense) of the parameter. More precisely, by "type", we intent the information added to the symbol name, characterising the parameter.
Specified by:
paramType in interface CoopnSyntacticParamSymbol
Returns:
the parameter "type".

kind

public java.lang.String kind()
Description copied from interface: CoopnSyntacticSymbol
Kind retrieving method. This method must be defined in the inherited classes for returning a string allowing the user to know what kind of symbol this is.
Specified by:
kind in interface CoopnSyntacticSymbol
Overrides:
kind in class CoopnSymbol
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnSyntacticSymbol
Returns:
a string defining the symbol kind.

pureCOOPN

public boolean pureCOOPN()
Pure COOPN verification method.
Specified by:
pureCOOPN in interface CoopnMetaElement
Overrides:
pureCOOPN in class CoopnElement
Returns:
false, as meta elements are not pure CO-OPN.

pureCOIL

public boolean pureCOIL()
Pure COIL-COOPN2C verification method.
Specified by:
pureCOIL in interface CoopnMetaElement
Overrides:
pureCOIL in class CoopnElement
Returns:
false, as meta elements are not pure COIL.

type

public CoopnType type()
Return the type.
Returns:
the type

equals

public boolean equals(java.lang.Object obj)
Description copied from interface: CoopnSyntacticElement
Equality method. Must be defined in the inherited classes.
Specified by:
equals in interface CoopnSyntacticElement
Overrides:
equals in class CoopnElement
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnSyntacticElement
Parameters:
obj - the object to compare
Returns:
true iff this object and the parameter are equals.

equivalent

public boolean equivalent(java.lang.Object obj)
Description copied from class: CoopnSymbol
Equivalence testing method. This method must be defined in the inherited classes for returning a boolean deciding if this symbol is equivalent to the parameter. Two symbols are equivalents if they are equals, or if they are equals when source modules are not considered. For instance, transition "T" in "Module1" and transition "T" in "Module2" are are not equal, but are equivalent.
Overrides:
equivalent in class CoopnSymbol
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSymbol
Returns:
true iff both symbols are equivalents.

toText

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toText()
Description copied from class: CoopnElement
Textual elements conversion method. Must be defined in the inherited classes. This routine converts an element into a user-friendly textual element representing it. The string interpretation of this element is very intuitive by a user, but may be incorrect in the sense that it may be rejected by a checker.
Overrides:
toText in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
a CoopnTextElement image.

toCompleteText

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toCompleteText(CoopnSymbolTable table)
Description copied from class: CoopnElement
Complete textual elements conversion method. Must be defined in the inherited classes. This routine converts an element into a correct textual element representing it. The string interpretation of this element will be accepted by a checker, but may be difficult to read by users, due to the additionnal information, like parenthesis and so on.
Overrides:
toCompleteText in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
table - the symbol table used to generate symbol references
Returns:
a CoopnTextElement image.

toCoco

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoElement toCoco(CoopnSymbolTable table)
                                                                       throws java.lang.UnsupportedOperationException
CoCo conversion method. Throws an unsupported operation exception, as meta elements cannot be translated into coco elements.
Specified by:
toCoco in interface CoopnMetaElement
Overrides:
toCoco in class CoopnElement
Parameters:
table - the symbol table used to generate symbol references
Returns:
a coco image of the element.
Throws:
java.lang.IllegalArgumentException - A used symbol is not in the symbol table.
java.lang.UnsupportedOperationException - Alway thrown, by definition.

clone

public java.lang.Object clone()
Description copied from interface: CoopnSyntacticElement
Cloning method. Must be defined in the inherited classes.
Specified by:
clone in interface CoopnSyntacticElement
Overrides:
clone in class CoopnElement
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnSyntacticElement
Returns:
a clone object.

unmodifiableCopy

public java.lang.Object unmodifiableCopy()
Description copied from class: CoopnElement
Copy the element into an unmodifiable structure.
Overrides:
unmodifiableCopy in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
an unmodififable clone of the element.