org.xmloperator.lambda2.term.impl
Class TermImpl

java.lang.Object
  extended byorg.xmloperator.lambda2.term.impl.TermImpl
All Implemented Interfaces:
Term
Direct Known Subclasses:
Abstraction0Impl, Application1Impl, VariableImpl

public abstract class TermImpl
extends java.lang.Object
implements Term

Term implementation.


Field Summary
 
Fields inherited from interface org.xmloperator.lambda2.term.model.Term
TYPE_ABSTRACTION, TYPE_APPLICATION, TYPE_VARIABLE
 
Constructor Summary
TermImpl()
           
 
Method Summary
 Abstraction buildAbstraction()
          Builds and returns an Abstraction whose body is this Term and which has no bound variable.
 Abstraction buildAbstraction(Variable boundVariable)
          Builds and returns an Abstraction whose body is this Term and with the given bound variable.
 Abstraction buildAbstraction(Variable[] boundVariables)
          Builds and returns an Abstraction whose body is this Term and with the given bound variables.
 Application buildApplication(Term argument)
          Builds and returns an Application whose function is this Term and the argument is given.
 Application buildApplication(Term argument, long functionExponent)
          Builds and returns an Application whose function is this Term and the argument is given.
 java.util.Set freeVariables()
          Returns the set of free variables of this Term.
 boolean isAbstraction()
          Returns true if this Term is an Abstraction.
 boolean isApplication()
          Returns true if this Term is an Application.
 boolean isVariable()
          Returns true if this Term is a Variable.
 java.lang.String toString()
           
 java.lang.String toText()
          Returns a text representation of this Term.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.xmloperator.lambda2.term.model.Term
getTermType
 

Constructor Detail

TermImpl

public TermImpl()
Method Detail

toString

public java.lang.String toString()

isVariable

public boolean isVariable()
Description copied from interface: Term
Returns true if this Term is a Variable.

Specified by:
isVariable in interface Term
Returns:
true if this Term is a Variable.

isAbstraction

public boolean isAbstraction()
Description copied from interface: Term
Returns true if this Term is an Abstraction.

Specified by:
isAbstraction in interface Term
Returns:
true if this Term is an Abstraction.

isApplication

public boolean isApplication()
Description copied from interface: Term
Returns true if this Term is an Application.

Specified by:
isApplication in interface Term
Returns:
true if this Term is an Application.

freeVariables

public final java.util.Set freeVariables()
Description copied from interface: Term
Returns the set of free variables of this Term.

Specified by:
freeVariables in interface Term
Returns:
the set of free variables of this Term.

toText

public final java.lang.String toText()
Description copied from interface: Term
Returns a text representation of this Term. Exemple(Delta): "\x1x2.x1x2".

Specified by:
toText in interface Term
Returns:
a text representation of this Term. Exemple(Delta): "\x1x2.x1x2".

buildAbstraction

public Abstraction buildAbstraction()
Description copied from interface: Term
Builds and returns an Abstraction whose body is this Term and which has no bound variable.

Specified by:
buildAbstraction in interface Term
Returns:
the Built Abstraction.

buildAbstraction

public Abstraction buildAbstraction(Variable boundVariable)
Description copied from interface: Term
Builds and returns an Abstraction whose body is this Term and with the given bound variable.

Specified by:
buildAbstraction in interface Term
Parameters:
boundVariable - a Variable used once within this Term.
Returns:
the Built Abstraction.

buildAbstraction

public Abstraction buildAbstraction(Variable[] boundVariables)
Description copied from interface: Term
Builds and returns an Abstraction whose body is this Term and with the given bound variables.

Specified by:
buildAbstraction in interface Term
Parameters:
boundVariables - a set of variables used each once within this Term.
Returns:
the Built Abstraction.

buildApplication

public Application buildApplication(Term argument)
Description copied from interface: Term
Builds and returns an Application whose function is this Term and the argument is given.

Specified by:
buildApplication in interface Term
Parameters:
argument - a Term.
Returns:
the build Application.

buildApplication

public Application buildApplication(Term argument,
                                    long functionExponent)
Description copied from interface: Term
Builds and returns an Application whose function is this Term and the argument is given. The function exponent may also be given.

Specified by:
buildApplication in interface Term
Parameters:
argument - a Term.
functionExponent - a function exponent.
Returns:
the build Application.