org.kuali.rice.krms.api.repository.proposition
Class PropositionDefinition

java.lang.Object
  extended by org.kuali.rice.core.api.mo.AbstractDataTransferObject
      extended by org.kuali.rice.krms.api.repository.proposition.PropositionDefinition
All Implemented Interfaces:
Serializable, Identifiable, Versioned, ModelObjectBasic, ModelObjectComplete, PropositionDefinitionContract

public final class PropositionDefinition
extends AbstractDataTransferObject
implements PropositionDefinitionContract

Concrete model object implementation of KRMS Proposition. Immutable. Instances of Proposition can be (un)marshalled to and from XML. There are three main types of Propositions: 1. Compound Propositions - a proposition consisting of other propositions and a boolean algebra operator (AND, OR) defining how to evaluate those propositions. 2. Parameterized Propositions - a proposition which is parameterized by some set of values, evaluation logic is implemented by hand and returns true or false 3. Simple Propositions - a proposition of the form lhs op rhs where lhs=left-hand side, rhs=right-hand side, and op=operator Propositions are reference by a rule or another proposition (in the case of compound propositions). Propositions are never re-used across multiple rules. Each proposition can have zero or more parameters. The proposition parameter is the primary data element used to define the proposition. (@see PropositionParameter)

See Also:
PropositonContract, PropositionParameterContract, Serialized Form

Nested Class Summary
static class PropositionDefinition.Builder
          This builder is used to construct instances of KRMS Proposition.
static class PropositionDefinition.Cache
           
static class PropositionDefinition.Elements
          A private class which exposes constants which define the XML element names to use when this object is marshalled to XML.
 
Method Summary
 List<PropositionDefinition> getCompoundComponents()
           
 String getCompoundOpCode()
           
 String getDescription()
           
 String getId()
           
 List<PropositionParameter> getParameters()
           
 String getPropositionTypeCode()
           
 String getRuleId()
           
 String getTypeId()
           
 Long getVersionNumber()
           
 
Methods inherited from class org.kuali.rice.core.api.mo.AbstractDataTransferObject
afterUnmarshal, beforeUnmarshal, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getId

public String getId()
Specified by:
getId in interface Identifiable

getDescription

public String getDescription()
Specified by:
getDescription in interface PropositionDefinitionContract

getRuleId

public String getRuleId()
Specified by:
getRuleId in interface PropositionDefinitionContract
Returns:
the ruleId

getTypeId

public String getTypeId()
Specified by:
getTypeId in interface PropositionDefinitionContract

getPropositionTypeCode

public String getPropositionTypeCode()
Specified by:
getPropositionTypeCode in interface PropositionDefinitionContract

getParameters

public List<PropositionParameter> getParameters()
Specified by:
getParameters in interface PropositionDefinitionContract

getCompoundOpCode

public String getCompoundOpCode()
Specified by:
getCompoundOpCode in interface PropositionDefinitionContract

getCompoundComponents

public List<PropositionDefinition> getCompoundComponents()
Specified by:
getCompoundComponents in interface PropositionDefinitionContract

getVersionNumber

public Long getVersionNumber()
Specified by:
getVersionNumber in interface Versioned


Copyright © 2004-2013 The Kuali Foundation. All Rights Reserved.