ConForM.CoopnTools.CoKer.CoopnMgr
Class CoopnType

java.lang.Object
  |
  +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
        |
        +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnType
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable, CoopnSyntacticElement, java.io.Serializable

public class CoopnType
extends CoopnElement
implements java.lang.Comparable

Coopn type.

See Also:
CoopnElement, Serialized Form

Constructor Summary
CoopnType()
          Simple constructor.
CoopnType(CoopnSortSymbol sort)
          Simple constructor.
CoopnType(CoopnTypeSymbol type)
          Simple constructor.
 
Method Summary
 java.lang.Object clone()
          Cloning method.
 int compareTo(java.lang.Object o)
           
 boolean equals(java.lang.Object obj)
          Equality method.
 int hashCode()
          Hashcode method.
 CoopnElement interpret(CoopnSubstitution sigma)
          Interpretation of this element according to a substitution.
 boolean isADTType()
          Is an ADT type ?. return true iff this type is an ADT type (based on a sort).
 boolean isClassType()
          Is a class type ?. return true iff this type is a class type.
 boolean isDefinedClassType()
          Is a true class type ?. return true iff this type is a class type, but not the Object type.
 boolean isTheObjectType()
          Is the Object type ?. return true iff this type represent the Object type.
 CoopnSymbol symbol()
          Get the symbol corresponding to this type.
 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.CoopnTextTerm toCompleteTextTerm(CoopnSymbolTable table)
          Get the complete textual term representing the type.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toText()
          Textual elements conversion method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toTextTerm()
          Get the textual term representing the type.
 java.lang.Object unmodifiableCopy()
          Copy the element into an unmodifiable structure.
 
Methods inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
cloneCoopnElement, pureCOIL, pureCOOPN, 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
 

Constructor Detail

CoopnType

public CoopnType(CoopnSortSymbol sort)
          throws java.lang.IllegalArgumentException
Simple constructor. Build an ADT type.

CoopnType

public CoopnType(CoopnTypeSymbol type)
          throws java.lang.IllegalArgumentException
Simple constructor. Build a class type.

CoopnType

public CoopnType()
          throws java.lang.IllegalArgumentException
Simple constructor. Build type "Object".
Method Detail

interpret

public CoopnElement interpret(CoopnSubstitution sigma)
Description copied from class: CoopnElement
Interpretation of this element according to a substitution.
Overrides:
interpret in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
sigma - the substitution; cannot be null
Returns:
a new CoopnElement object, coreesponding to the interpretation.

symbol

public CoopnSymbol symbol()
                   throws java.lang.IllegalArgumentException
Get the symbol corresponding to this type. Exception IllegalArgumentException This type is the Object type.

isADTType

public boolean isADTType()
Is an ADT type ?. return true iff this type is an ADT type (based on a sort).

isClassType

public boolean isClassType()
Is a class type ?. return true iff this type is a class type.

isDefinedClassType

public boolean isDefinedClassType()
Is a true class type ?. return true iff this type is a class type, but not the Object type.

isTheObjectType

public boolean isTheObjectType()
Is the Object type ?. return true iff this type represent the Object type.

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

equals

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

hashCode

public int hashCode()
Description copied from class: CoopnElement
Hashcode method. Must be defined in the inherited classes.
Overrides:
hashCode in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
the hash code.

toTextTerm

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toTextTerm()
Get the textual term representing the type. Actually, a type may be represented by a unique term.
Returns:
The textual term representing the type.

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.

toCompleteTextTerm

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toCompleteTextTerm(CoopnSymbolTable table)
Get the complete textual term representing the type. Actually, a type may be represented by a unique term.
Returns:
The complete textual term representing the type.

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.IllegalArgumentException
Description copied from class: CoopnElement
CoCo conversion method. Must be defined in the inherited classes. This routine convert an element into a string representing it in a CO-opn COnpact form.
Overrides:
toCoco in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
origin - the module which generated the Coco conversion
table - the symbol table used to generate symbol references
Returns:
a String image of the element.
Throws:
java.lang.IllegalArgumentException - A used symbol is not in the symbol table.

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.

clone

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