Class SimplePropositionTypeService
java.lang.Object
org.kuali.rice.krms.impl.provider.repository.SimplePropositionTypeService
- All Implemented Interfaces:
PropositionTypeService
A default implementation of
PropositionTypeService for propositions
which are composed of terms, operators, and functions. A simple proposition
is self-contained and has no compound "sub" propositions. However, it's
behavior is defined by the set of parameters on the PropositionDefinition.- Author:
- Kuali Rice Team (rice.collab@kuali.org)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.kuali.rice.krms.api.engine.expression.ComparisonOperatorServiceorg.kuali.rice.krms.api.repository.term.TermRepositoryServiceloadProposition(org.kuali.rice.krms.api.repository.proposition.PropositionDefinition propositionDefinition) voidsetComparisonOperatorService(org.kuali.rice.krms.api.engine.expression.ComparisonOperatorService comparisonOperatorService) voidsetFunctionRepositoryService(org.kuali.rice.krms.api.repository.function.FunctionRepositoryService functionRepositoryService) voidsetTermRepositoryService(org.kuali.rice.krms.api.repository.term.TermRepositoryService termRepositoryService) voidsetTypeResolver(KrmsTypeResolver typeResolver) protected org.kuali.rice.krms.api.engine.TermtranslateTermDefinition(org.kuali.rice.krms.api.repository.term.TermDefinition termDefinition) protected Expression<Boolean> translateToExpression(org.kuali.rice.krms.api.repository.proposition.PropositionDefinition propositionDefinition) Translates the parameters on the given proposition definition to create an expression for evaluation.
-
Constructor Details
-
SimplePropositionTypeService
public SimplePropositionTypeService()
-
-
Method Details
-
loadProposition
public Proposition loadProposition(org.kuali.rice.krms.api.repository.proposition.PropositionDefinition propositionDefinition) - Specified by:
loadPropositionin interfacePropositionTypeService
-
translateToExpression
protected Expression<Boolean> translateToExpression(org.kuali.rice.krms.api.repository.proposition.PropositionDefinition propositionDefinition) Translates the parameters on the given proposition definition to create an expression for evaluation. The proposition parameters are defined in a reverse-polish notation so a stack is used for evaluation purposes.- Parameters:
propositionDefinition- the proposition definition to translate- Returns:
- the translated expression for the given proposition, this expression, when evaluated, will return a Boolean.
-
translateTermDefinition
protected org.kuali.rice.krms.api.engine.Term translateTermDefinition(org.kuali.rice.krms.api.repository.term.TermDefinition termDefinition) -
setFunctionRepositoryService
public void setFunctionRepositoryService(org.kuali.rice.krms.api.repository.function.FunctionRepositoryService functionRepositoryService) -
setTypeResolver
-
getComparisonOperatorService
public org.kuali.rice.krms.api.engine.expression.ComparisonOperatorService getComparisonOperatorService() -
setComparisonOperatorService
public void setComparisonOperatorService(org.kuali.rice.krms.api.engine.expression.ComparisonOperatorService comparisonOperatorService) -
getTermRepositoryService
public org.kuali.rice.krms.api.repository.term.TermRepositoryService getTermRepositoryService() -
setTermRepositoryService
public void setTermRepositoryService(org.kuali.rice.krms.api.repository.term.TermRepositoryService termRepositoryService)
-