Class SpecializableLogicalFunctionalTermImpl
java.lang.Object
fr.inria.rules.integraal.model.logicalElements.impl.functionalTerms.AbstractLogicalFunctionalTermImpl
fr.inria.rules.integraal.model.logicalElements.impl.functionalTerms.SpecializableLogicalFunctionalTermImpl
- All Implemented Interfaces:
fr.inria.rules.dlgpemodel.api.elems.ITerm, fr.inria.rules.dlgpemodel.api.sentences.IPrintable, Standardizable, LogicalFunctionalTerm, SpecializableLogicalFunctionalTerm, Substitutable<Term>, Term, TermCompound, TermSequenceCompound
public class SpecializableLogicalFunctionalTermImpl
extends AbstractLogicalFunctionalTermImpl
implements SpecializableLogicalFunctionalTerm
Default implementation of FunctionalTerm
- Author:
- Florent Tornil
-
Field Summary
Fields inherited from class AbstractLogicalFunctionalTermImpl
function_name, sub_termsFields inherited from interface fr.inria.rules.dlgpemodel.api.sentences.IPrintable
WRITER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSpecializableLogicalFunctionalTermImpl(String function_name, List<Term> sub_terms) Default constructor -
Method Summary
Modifier and TypeMethodDescriptionapplySubstitution(Substitution substitution, boolean evaluate) Applies a substitution to this term.specialize(Substitution s, boolean evaluate) Applies a substitution to this term while optionally evaluating nested expressions.Methods inherited from class AbstractLogicalFunctionalTermImpl
equals, getFunctionName, getTermSequence, hashCode, label, toStringMethods inherited from interface fr.inria.rules.dlgpemodel.api.sentences.IPrintable
toDLGPEMethods inherited from interface LogicalFunctionalTerm
getFunctionName, homomorphism, isFunctionalTerm, isGround, toStandardFormMethods inherited from interface SpecializableLogicalFunctionalTerm
specializeMethods inherited from interface Standardizable
toStandardFormMethods inherited from interface Term
applySubstitution, isConstant, isEvaluableFunction, isFrozen, isLiteral, isVariable, labelMethods inherited from interface TermCompound
getAllNestedTerms, getConstants, getLiterals, getNestedTerms, getVariablesMethods inherited from interface TermSequenceCompound
getTerm, getTerms, getTermSequence, homomorphism
-
Constructor Details
-
SpecializableLogicalFunctionalTermImpl
-
-
Method Details
-
specialize
Description copied from interface:SpecializableLogicalFunctionalTermApplies a substitution to this term while optionally evaluating nested expressions.- Specified by:
specializein interfaceSpecializableLogicalFunctionalTerm- Parameters:
s- substitutionevaluate- force the evaluation of the evaluable sub terms- Returns:
- a new functional term where the substitution has been applied
-
applySubstitution
Description copied from interface:TermApplies a substitution to this term.- Specified by:
applySubstitutionin interfaceSubstitutable<Term>- Specified by:
applySubstitutionin interfaceTerm- Parameters:
substitution- the substitution to applyevaluate- whether nested evaluable functions should be evaluated- Returns:
- the substituted term
-