PropositionDefinition

Name PropositionDefinition
Usage RuleRepositoryService PropositionBoService
createProposition updateProposition getPropositionById
RuleDefinition PropositionDefinition
Type Complex

Description

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)

Structure Definition

ShortName Name Type Description Required? Read only? Cardinality XML Attribute? Implementation Notes
id Id String The unique identifier for an object. This can be null. Required   One No  
description Description String Returns the description text for the KRMS proposition Required   One No  
ruleId Rule Id String TReturns the ID of the rule this proposition belongs to. May be null if this proposition has
not yet been persisted.
Required   One No  
typeId Type Id String Returns the id of Proposition KrmsType of the proposition.
It provides some context to what type of object of the KRMS type.
Required   One No  
propositionTypeCode Proposition Type Code String


There are three main types of Propositions:
Compound Propositions - a proposition consisting of other propositions
and a boolean algebra operator (AND, OR) defining how to evaluate
those propositions.
Parameterized Propositions - a proposition which is parameterized by
some set of values, evaluation logic is implemented by hand and
returns true or false
Simple Propositions - a proposition of the form lhs op rhs where
lhs=left-hand side, rhs=right-hand side, and op=operator

Required   One No  
parameters Parameters PropositionParameterList Returns the parameter list of the proposition.
Parameters are listed in Reverse Polish Notation.
Parameters may be constants, terms, or functions.


Compound Propositions will have an empty parameter list.

    Many No  
compoundOpCode Compound Op Code String Returns the op code to be used when evaluating compound
propositions.
    One No  
compoundComponents Compound Components PropositionDefinitionList Returns the propositions which are contained in a
compound proposition.
    Many No  
versionNumber Version Number Long Returns the version number for this object. In general, this value should only
be null if the object has not yet been stored to a persistent data store.
This version number is generally used for the purposes of optimistic locking.
    One No