ua.gradsoft.termware
Class ClassPatternTerm

java.lang.Object
  extended by ua.gradsoft.termware.Term
      extended by ua.gradsoft.termware.AbstractComplexTerm
          extended by ua.gradsoft.termware.ClassPatternTerm
All Implemented Interfaces:
Serializable, Cloneable

public class ClassPatternTerm
extends AbstractComplexTerm

Term for class pattern. JObject with class 'name' math pattern @class(name,$x)

Author:
Ruslan Shevchenko
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ua.gradsoft.termware.AbstractComplexTerm
emptyFv_
 
Method Summary
 boolean boundUnify(Term t, Substitution s)
          unification of this and t via substitution s, whith bound propositional variables.
 PartialOrderingResult concreteOrder(Term x, Substitution s)
          compare for 'more concrete' relation.
static Term createClassPatternTerm(String name, Term t)
           
static Term createClassPatternTerm(Term x1, Term x2)
           
 Term createSame(Term[] newBody)
          create term, with same name but new body.
 int findSubtermIndexBoundEqualsTo(Term x)
           
 int getArity()
          get arity of term.
 String getName()
          get name of term.
 Object getNameIndex()
          get index of name in termware symbol term.
 String getPatternName()
          get name, for which we can forse unfication.
 Object getPatternNameIndex()
          get index for pattern name.
 Term getSubtermAt(int i)
          get i-th subterm.
 void setSubtermAt(int i, Term t)
          set i-th subterm.
 Term termClone()
          do 'deep-clone' of object.
 
Methods inherited from class ua.gradsoft.termware.AbstractComplexTerm
boundEquals, clone, emptyFv, freeEquals, freeUnify, getBigDecimal, getBigInteger, getBoolean, getByte, getChar, getDouble, getFloat, getInt, getJavaObject, getLong, getNumber, getPrimaryType0, getShort, getString, getTerm, getXIndex, isAtom, isBigDecimal, isBigInteger, isBoolean, isByte, isChar, isComplexTerm, isDouble, isFloat, isInt, isJavaObject, isLong, isNil, isNumber, isShort, isString, isX, maxFv, minFv, normalizeFv, print, recheckEmptyFv, resetFV, shiftFv, subst, substInside, termCompare
 
Methods inherited from class ua.gradsoft.termware.Term
containsSubtermBoundEqualsTo, getAsBigDecimal, getAsBigInteger, getAsBoolean, getAsByte, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsJavaObject, getAsLong, getAsNumber, getAsShort, getAsString, getPrimaryType1, print, println, println
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createClassPatternTerm

public static Term createClassPatternTerm(String name,
                                          Term t)
                                   throws TermWareException
Throws:
TermWareException

createClassPatternTerm

public static Term createClassPatternTerm(Term x1,
                                          Term x2)
                                   throws TermWareException
Throws:
TermWareException

getName

public String getName()
get name of term.

Specified by:
getName in class AbstractComplexTerm
Returns:
CLASS_PATTERN_STRING

getNameIndex

public Object getNameIndex()
get index of name in termware symbol term.

Specified by:
getNameIndex in class AbstractComplexTerm
Returns:
TermWareSymbols.CLASS_PATTERN_INDEX

getPatternName

public String getPatternName()
Description copied from class: AbstractComplexTerm
get name, for which we can forse unfication.

Overrides:
getPatternName in class AbstractComplexTerm

getPatternNameIndex

public Object getPatternNameIndex()
Description copied from class: AbstractComplexTerm
get index for pattern name.

Overrides:
getPatternNameIndex in class AbstractComplexTerm

getArity

public int getArity()
Description copied from class: AbstractComplexTerm
get arity of term.

Specified by:
getArity in class AbstractComplexTerm
Returns:
arity of term

getSubtermAt

public Term getSubtermAt(int i)
Description copied from class: AbstractComplexTerm
get i-th subterm.

Specified by:
getSubtermAt in class AbstractComplexTerm
Parameters:
i - - index of subterm to get.
Returns:
subterm, which located by index i

setSubtermAt

public void setSubtermAt(int i,
                         Term t)
                  throws TermWareException
Description copied from class: AbstractComplexTerm
set i-th subterm.

Specified by:
setSubtermAt in class AbstractComplexTerm
Parameters:
i - - indext of subterm to set.
t - - subterm to set.
Throws:
TermWareException

createSame

public Term createSame(Term[] newBody)
                throws TermWareException
Description copied from class: Term
create term, with same name but new body. If this term have arity 0, or other than original - throws exception.

Specified by:
createSame in class AbstractComplexTerm
Throws:
TermWareException

termClone

public Term termClone()
               throws TermWareException
Description copied from class: AbstractComplexTerm
do 'deep-clone' of object. i. e. after calling termClone we sure, that call of setSubtermAt() in any subtree of deepClone of original term does not affect original term.

Specified by:
termClone in class AbstractComplexTerm
Throws:
TermWareException

boundUnify

public boolean boundUnify(Term t,
                          Substitution s)
                   throws TermWareException
unification of this and t via substitution s, whith bound propositional variables.

Overrides:
boundUnify in class AbstractComplexTerm
Throws:
TermWareException

findSubtermIndexBoundEqualsTo

public int findSubtermIndexBoundEqualsTo(Term x)
                                  throws TermWareException
Overrides:
findSubtermIndexBoundEqualsTo in class AbstractComplexTerm
Throws:
TermWareException

concreteOrder

public PartialOrderingResult concreteOrder(Term x,
                                           Substitution s)
                                    throws TermWareException
Description copied from class: Term
compare for 'more concrete' relation. i. e. x.<(concrete)<(y) means, that for each substitution of free variables sx exists substituion sy : x[sx] = y[sy] .
Substitution s store previously matched variables.

Specified by:
concreteOrder in class Term
Throws:
TermWareException