Class SimplePropositionTypeService

java.lang.Object
org.kuali.rice.krms.impl.provider.repository.SimplePropositionTypeService
All Implemented Interfaces:
PropositionTypeService

public class SimplePropositionTypeService extends Object implements 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 Details

    • SimplePropositionTypeService

      public SimplePropositionTypeService()
  • Method Details

    • loadProposition

      public Proposition loadProposition(org.kuali.rice.krms.api.repository.proposition.PropositionDefinition propositionDefinition)
      Specified by:
      loadProposition in interface PropositionTypeService
    • 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

      public void setTypeResolver(KrmsTypeResolver typeResolver)
    • 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)