tom.engine.adt.typeconstraints.types
Class TypeConstraint

java.lang.Object
  extended by tom.engine.adt.typeconstraints.TypeConstraintsAbstractType
      extended by tom.engine.adt.typeconstraints.types.TypeConstraint
All Implemented Interfaces:
Comparable, shared.SharedObject, shared.SharedObjectWithID, Visitable
Direct Known Subclasses:
Equation, FalseTypeConstraint, Subtype

public abstract class TypeConstraint
extends TypeConstraintsAbstractType


Field Summary
protected static IdConverter idConv
           
 
Fields inherited from class tom.engine.adt.typeconstraints.TypeConstraintsAbstractType
atermFactory, factory
 
Constructor Summary
protected TypeConstraint()
          Sole constructor.
 
Method Summary
static TypeConstraint fromStream(InputStream stream)
          Returns a tom.engine.adt.typeconstraints.types.TypeConstraint from a Stream without any conversion
static TypeConstraint fromStream(InputStream stream, ATermConverter atConv)
          Apply a conversion on the ATerm contained in the Stream and returns a tom.engine.adt.typeconstraints.types.TypeConstraint from it
static TypeConstraint fromString(String s)
          Returns a tom.engine.adt.typeconstraints.types.TypeConstraint from a String without any conversion
static TypeConstraint fromString(String s, ATermConverter atConv)
          Apply a conversion on the ATerm contained in the String and returns a tom.engine.adt.typeconstraints.types.TypeConstraint from it
static TypeConstraint fromTerm(aterm.ATerm trm)
          Returns a tom.engine.adt.typeconstraints.types.TypeConstraint from an ATerm without any conversion
static TypeConstraint fromTerm(aterm.ATerm trm, ATermConverter atConv)
          Apply a conversion on the ATerm and returns a tom.engine.adt.typeconstraints.types.TypeConstraint
 Info getInfo()
          Returns the subterm corresponding to the slot Info
 TomType getType1()
          Returns the subterm corresponding to the slot Type1
 TomType getType2()
          Returns the subterm corresponding to the slot Type2
 boolean isEquation()
          Returns true if the term is rooted by the symbol Equation
 boolean isSubtype()
          Returns true if the term is rooted by the symbol Subtype
 int length()
          Returns the length of the list
 TypeConstraint reverse()
          Returns an inverted term
 TypeConstraint setInfo(Info _arg)
          Returns a new term where the subterm corresponding to the slot Info is replaced by the term given in argument.
 TypeConstraint setType1(TomType _arg)
          Returns a new term where the subterm corresponding to the slot Type1 is replaced by the term given in argument.
 TypeConstraint setType2(TomType _arg)
          Returns a new term where the subterm corresponding to the slot Type2 is replaced by the term given in argument.
 aterm.ATerm toATerm()
          Returns an ATerm representation of this term.
 
Methods inherited from class tom.engine.adt.typeconstraints.TypeConstraintsAbstractType
compareTo, compareToLPO, convertATermToBoolean, convertATermToChar, convertATermToDouble, convertATermToFloat, convertATermToInt, convertATermToLong, convertATermToString, getUniqueIdentifier, setUniqueIdentifier, symbolName, toString, toStringBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface shared.SharedObject
duplicate, equivalent, hashCode
 
Methods inherited from interface tom.library.sl.Visitable
getChildAt, getChildCount, getChildren, setChildAt, setChildren
 

Field Detail

idConv

protected static IdConverter idConv
Constructor Detail

TypeConstraint

protected TypeConstraint()
Sole constructor. (For invocation by subclass constructors, typically implicit.)

Method Detail

isEquation

public boolean isEquation()
Returns true if the term is rooted by the symbol Equation

Returns:
true if the term is rooted by the symbol Equation

isSubtype

public boolean isSubtype()
Returns true if the term is rooted by the symbol Subtype

Returns:
true if the term is rooted by the symbol Subtype

getInfo

public Info getInfo()
Returns the subterm corresponding to the slot Info

Returns:
the subterm corresponding to the slot Info

setInfo

public TypeConstraint setInfo(Info _arg)
Returns a new term where the subterm corresponding to the slot Info is replaced by the term given in argument. Note that there is no side-effect: a new term is returned and the original term is left unchanged

Parameters:
_arg - the value of the new subterm
Returns:
a new term where the subterm corresponding to the slot Info is replaced by _arg

getType1

public TomType getType1()
Returns the subterm corresponding to the slot Type1

Returns:
the subterm corresponding to the slot Type1

setType1

public TypeConstraint setType1(TomType _arg)
Returns a new term where the subterm corresponding to the slot Type1 is replaced by the term given in argument. Note that there is no side-effect: a new term is returned and the original term is left unchanged

Parameters:
_arg - the value of the new subterm
Returns:
a new term where the subterm corresponding to the slot Type1 is replaced by _arg

getType2

public TomType getType2()
Returns the subterm corresponding to the slot Type2

Returns:
the subterm corresponding to the slot Type2

setType2

public TypeConstraint setType2(TomType _arg)
Returns a new term where the subterm corresponding to the slot Type2 is replaced by the term given in argument. Note that there is no side-effect: a new term is returned and the original term is left unchanged

Parameters:
_arg - the value of the new subterm
Returns:
a new term where the subterm corresponding to the slot Type2 is replaced by _arg

toATerm

public aterm.ATerm toATerm()
Returns an ATerm representation of this term.

Specified by:
toATerm in class TypeConstraintsAbstractType
Returns:
null to indicate to sub-classes that they have to work

fromTerm

public static TypeConstraint fromTerm(aterm.ATerm trm)
Returns a tom.engine.adt.typeconstraints.types.TypeConstraint from an ATerm without any conversion

Parameters:
trm - ATerm to handle to retrieve a Gom term
Returns:
the term from the ATerm

fromString

public static TypeConstraint fromString(String s)
Returns a tom.engine.adt.typeconstraints.types.TypeConstraint from a String without any conversion

Parameters:
s - String containing the ATerm
Returns:
the term from the String

fromStream

public static TypeConstraint fromStream(InputStream stream)
                                 throws IOException
Returns a tom.engine.adt.typeconstraints.types.TypeConstraint from a Stream without any conversion

Parameters:
stream - stream containing the ATerm
Returns:
the term from the Stream
Throws:
IOException - if a problem occurs with the stream

fromTerm

public static TypeConstraint fromTerm(aterm.ATerm trm,
                                      ATermConverter atConv)
Apply a conversion on the ATerm and returns a tom.engine.adt.typeconstraints.types.TypeConstraint

Parameters:
trm - ATerm to convert into a Gom term
atConv - ATermConverter used to convert the ATerm
Returns:
the Gom term
Throws:
IllegalArgumentException

fromString

public static TypeConstraint fromString(String s,
                                        ATermConverter atConv)
Apply a conversion on the ATerm contained in the String and returns a tom.engine.adt.typeconstraints.types.TypeConstraint from it

Parameters:
s - String containing the ATerm
atConv - ATerm Converter used to convert the ATerm
Returns:
the Gom term

fromStream

public static TypeConstraint fromStream(InputStream stream,
                                        ATermConverter atConv)
                                 throws IOException
Apply a conversion on the ATerm contained in the Stream and returns a tom.engine.adt.typeconstraints.types.TypeConstraint from it

Parameters:
stream - stream containing the ATerm
atConv - ATerm Converter used to convert the ATerm
Returns:
the Gom term
Throws:
IOException

length

public int length()
Returns the length of the list

Returns:
the length of the list
Throws:
IllegalArgumentException - if the term is not a list

reverse

public TypeConstraint reverse()
Returns an inverted term

Returns:
the inverted list
Throws:
IllegalArgumentException - if the term is not a list