Package

nl.rabobank.oss.rules

derivations

Permalink

package derivations

Visibility
  1. Public
  2. All

Type Members

  1. case class DefaultDerivation(input: Input, output: Output, condition: Condition, operation: Evaluation[Any], sourcePosition: SourcePosition = SourceUnknown(), conditionSourcePosition: SourcePosition = SourceUnknown()) extends Derivation with Product with Serializable

    Permalink

    The default type of Derivation is used for normal executions of a single Evaluation.

    The default type of Derivation is used for normal executions of a single Evaluation.

    input

    all the input Facts on which this Derivation depends.

    output

    the Fact under which the result should be stored.

    condition

    the Condition which determines whether this particular Derviation should be executed at all.

    operation

    the actual Evaluation to perform when the condition parameter resolves to true. Its result will be stored under the Fact declared in the output parameter.

  2. sealed trait Derivation extends AnyRef

    Permalink

    A Derivation models the basic element used inside the Engine.

    A Derivation models the basic element used inside the Engine. One execution step of the Engine will always relate to a single Derivation. It defines the Inputs required for it to be 'ready' as well the Fact under which the result should be stored inside the context.

  3. trait DerivationGraph extends AnyRef

    Permalink
  4. case class Node(derivation: Derivation, children: List[Node]) extends DerivationGraph with Product with Serializable

    Permalink
  5. case class SubRunData[+O, I](derivations: List[Derivation], contextAdditions: (I) ⇒ Context, inputList: Fact[List[I]], yieldFact: Fact[O]) extends Product with Serializable

    Permalink

    Specifies the Derivations to run within a SubRunDerivation and how to handle the Context around its execution.

    Specifies the Derivations to run within a SubRunDerivation and how to handle the Context around its execution.

    O

    type of the resulting output Fact.

    I

    element type of the input Fact.

    derivations

    a List of Derivations which must be executed in a nested run of the Engine.

    contextAdditions

    a function to enhance the Context based on the input value for a particular run.

    inputList

    the Fact whose value should be used to iterate over and perform sub runs for.

    yieldFact

    the Fact to extract from the result of the sub run. These values will be collected and end up being the overall result of the SubRunDerivation.

  6. case class SubRunDerivation(inputs: Input, output: Output, condition: Condition, subRunData: SubRunData[Any, _]) extends Derivation with Product with Serializable

    Permalink

    Special case for a sub Derivation.

    Special case for a sub Derivation. Derivations of this type cause a nested run of the Engine to be performed and some of the results of that run will end up being the result of this Derivation.

    Note: this type of Derivation is currently targeted at handling a Fact with a List as value type. The Derivations specified in this SubRunDerivation will be performed for each value inside that List.

    inputs

    all the input Facts on which this Derivation depends directly. Dependencies of the inner Derivations will be determined automatically and added to the the value of this parameter to form the complete set of Facts on which this Derivation depends.

    output

    the Fact under which the result should be stored.

    condition

    the Condition which determines whether this particular Derviation should be executed at all.

    subRunData

    describes how to setup the nested execution and how to extract the result from it.

Value Members

  1. object DerivationTools

    Permalink

Ungrouped