Class FunctionalTerm
java.lang.Object
org.tweetyproject.logics.commons.syntax.TermAdapter<Pair<Functor,List<Term<?>>>>
org.tweetyproject.logics.commons.syntax.FunctionalTerm
A functional term in a logic language, i.e. a functor and a list
of argument terms.
- Author:
- Matthias Thimm,, Tim Janus
-
Constructor Summary
ConstructorsConstructorDescriptionFunctionalTerm
(FunctionalTerm other) FunctionalTerm
(Functor functor) Creates a new functional term with the given functor.FunctionalTerm
(Functor functor, List<Term<?>> arguments) Creates a new functional term with the given functor and the given list of arguments.FunctionalTerm
(Functor functor, Term<?>... terms) -
Method Summary
Modifier and TypeMethodDescriptionaddArgument
(Term<?> term) Appends the given argument to this term's arguments and returns itself.clone()
Creates a deep copy of the termgetTerms()
Processes the set containing all terms of type C.boolean
Checks whether this term is complete, i.e.Term<?>
substitute
(Term<?> v, Term<?> t) Substitutes all occurrences of term "v" in this term by term "t" and returns the new term.toString()
Methods inherited from class org.tweetyproject.logics.commons.syntax.TermAdapter
containsTermsOfType, equals, get, getSort, hashCode, set
-
Constructor Details
-
FunctionalTerm
-
FunctionalTerm
Creates a new functional term with the given functor and the given list of arguments.- Parameters:
functor
- the functor of this termarguments
- the list of arguments of this functional term
-
FunctionalTerm
-
FunctionalTerm
Creates a new functional term with the given functor.- Parameters:
functor
- a functor
-
-
Method Details
-
getFunctor
-
getArguments
-
isComplete
public boolean isComplete()Checks whether this term is complete, i.e. whether every argument is set.- Returns:
- "true" if the term is complete.
-
addArgument
Appends the given argument to this term's arguments and returns itself.- Parameters:
term
- an argument to be added- Returns:
- the term itself.
- Throws:
IllegalArgumentException
- if the given term does not correspond to the expected sort or the argument list is complete.
-
getTerms
- Specified by:
getTerms
in interfaceLogicStructure
- Overrides:
getTerms
in classTermAdapter<Pair<Functor,
List<Term<?>>>> - Returns:
- a set containing all terms of this logical structure
-
getTerms
Description copied from interface:LogicStructure
Processes the set containing all terms of type C. This method uses the equals method of the given Class and therefore does not add terms which are sub classes of type C to the set.- Specified by:
getTerms
in interfaceLogicStructure
- Overrides:
getTerms
in classTermAdapter<Pair<Functor,
List<Term<?>>>> - Type Parameters:
C
- the type of terms- Parameters:
cls
- The Class structure containing type information about the searched term- Returns:
- A set containing all terms of type C of this logical structure
-
substitute
Description copied from interface:Term
Substitutes all occurrences of term "v" in this term by term "t" and returns the new term.- Specified by:
substitute
in interfaceTerm<Pair<Functor,
List<Term<?>>>> - Overrides:
substitute
in classTermAdapter<Pair<Functor,
List<Term<?>>>> - Parameters:
v
- the term to be substituted.t
- the term to substitute.- Returns:
- a term where every occurrence of "v" is replaced by "t".
- Throws:
IllegalArgumentException
- if "v" and "t" are of different sorts (NOTE: this exception is only thrown when "v" actually appears in this formula)
-
toString
-
clone
Description copied from interface:Term
Creates a deep copy of the term
-