Package edu.udel.cis.vsl.sarl.IF.object
Interface SymbolicObject
- All Known Subinterfaces:
ArrayElementReference
,BooleanExpression
,BooleanObject
,BooleanSymbolicConstant
,CharObject
,Constant
,IntObject
,Monic
,Monomial
,NTReferenceExpression
,NTValueSetReference
,NumberObject
,NumericExpression
,NumericSymbolicConstant
,OffsetReference
,Polynomial
,Primitive
,PrimitivePower
,RationalExpression
,ReferenceExpression
,StringObject
,SymbolicArrayType
,SymbolicCompleteArrayType
,SymbolicConstant
,SymbolicExpression
,SymbolicFunctionType
,SymbolicIntegerType
,SymbolicMapType
,SymbolicRealType
,SymbolicSequence<T>
,SymbolicSetType
,SymbolicTupleType
,SymbolicType
,SymbolicTypeSequence
,SymbolicUninterpretedType
,SymbolicUnionType
,TupleComponentReference
,UnionMemberReference
,ValueSetReference
,VSArrayElementReference
,VSArraySectionReference
,VSIdentityReference
,VSOffsetReference
,VSTupleComponentReference
,VSUnionMemberReference
- All Known Implementing Classes:
BooleanPrimitive
,CnfSymbolicConstant
,CommonArrayElementReference
,CommonBooleanObject
,CommonCharObject
,CommonIdentityReference
,CommonIntObject
,CommonNTReference
,CommonNTValueSetReference
,CommonNullReference
,CommonNumberObject
,CommonOffsetReference
,CommonReferenceExpression
,CommonStringObject
,CommonSymbolicArrayType
,CommonSymbolicCompleteArrayType
,CommonSymbolicConstant
,CommonSymbolicFunctionType
,CommonSymbolicIntegerType
,CommonSymbolicMapType
,CommonSymbolicObject
,CommonSymbolicPrimitiveType
,CommonSymbolicRealType
,CommonSymbolicSetType
,CommonSymbolicTupleType
,CommonSymbolicType
,CommonSymbolicTypeSequence
,CommonSymbolicUninterpretedType
,CommonSymbolicUnionType
,CommonTupleComponentReference
,CommonUnionMemberReference
,CommonValueSetReference
,CommonVSArrayElementReference
,CommonVSArraySectionReference
,CommonVSIdentityReference
,CommonVSOffsetReference
,CommonVSTupleComponentReference
,CommonVSUnionMemberReference
,CompoundBooleanExpression
,HerbrandExpression
,HerbrandSymbolicConstant
,HomogeneousExpression
,IdealSymbolicConstant
,NTConstant
,NTMonic
,NTMonomial
,NTPolynomial
,NTPrimitivePower
,NTRationalExpression
,NumericPrimitive
,One
,SimpleSequence
public interface SymbolicObject
The root of the symbolic object type hierarchy. Represents any kind of
symbolic object: symbolic expressions, symbolic types, symbolic expression
collections, etc.
All symbolic objects provide reasonable hash code methods that are consistent
with equals.
The kind determines the Java type of this object as follows:
SYMBOLIC_EXPRESSION | SymbolicExpression |
SEQUENCE | SymbolicSequence |
TYPE | SymbolicType |
TYPE_SEQUENCE | SymbolicTypeSequence |
NUMBER | NumberObject |
INT | IntObject |
BOOLEAN | BooleanObject |
STRING | StringObject |
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionboolean
Does this symbolic object contain a quantified expression anywhere in its structure?boolean
Does this symbolic object contain a sub-object equal to the given one?boolean
The equals method, included here to emphasize that the method provided by Object must be overridden!getOrder()
Experimental: get the number which imposes a total order on the set of all canonic symbolic object.int
hashCode()
The hash code method, included here to emphasize that the method provided by Object must be overridden!int
id()
Every canonic symbolic object has a unique ID number, returned by this method.boolean
Is this object the unique representative of its equivalence class (under "equals")?void
Set the id of this object to a special value indicating that this object is in the process of being made canonic.void
setOrder
(RationalNumber order) Experimental: sets the number which imposes a total order on the set of all canonic symbolic object.Which kind of symbolic object is this? The kind determines the specific type to which this object can be safely cast.toString()
Returns a string representation of this object, included here to emphasize that the method provided by Object must be overridden! Same as toStringBuffer(false).toString();toStringBuffer
(boolean atomize) Returns a string representation of this object as a StringBuffer.Returns a detailed string representation of this object as a StringBuffer.
-
Method Details
-
symbolicObjectKind
SymbolicObject.SymbolicObjectKind symbolicObjectKind()Which kind of symbolic object is this? The kind determines the specific type to which this object can be safely cast. See the comments for this interface and the enumerated type SymbolicObjectKind for description.- Returns:
- the kind of this symbolic object.
-
equals
The equals method, included here to emphasize that the method provided by Object must be overridden! -
hashCode
int hashCode()The hash code method, included here to emphasize that the method provided by Object must be overridden! -
id
int id()Every canonic symbolic object has a unique ID number, returned by this method. If this object is not canonic, the value returned is undefined.- Returns:
- the ID number of this canonic symbolic object
-
isCanonic
boolean isCanonic()Is this object the unique representative of its equivalence class (under "equals")?- Returns:
- true iff this object is canonic
-
toString
String toString()Returns a string representation of this object, included here to emphasize that the method provided by Object must be overridden! Same as toStringBuffer(false).toString(); -
toStringBuffer
Returns a string representation of this object as a StringBuffer. Use this instead of "toString()" for performance reasons if you are going to be building up big strings.- Parameters:
atomize
- if true, place parentheses around the string if necessary in order to include this as a term in a larger expression- Returns:
- a string representation of this object
-
toStringBufferLong
StringBuffer toStringBufferLong()Returns a detailed string representation of this object as a StringBuffer. It never needs to be atomized.- Returns:
- detailed string representation of this object
-
containsQuantifier
boolean containsQuantifier()Does this symbolic object contain a quantified expression anywhere in its structure?- Returns:
true
iff a quantified expression appears somewhere inside this object
-
setInCanonic
void setInCanonic()Set the id of this object to a special value indicating that this object is in the process of being made canonic. Calls toisCanonic()
will return true. -
getOrder
RationalNumber getOrder()Experimental: get the number which imposes a total order on the set of all canonic symbolic object.- Returns:
- the order of this object in the list of all canonic symbolic objects
-
setOrder
Experimental: sets the number which imposes a total order on the set of all canonic symbolic object. -
containsSubobject
Does this symbolic object contain a sub-object equal to the given one?- Parameters:
obj
-- Returns:
true
iff this contains a sub-object equal toobj
-