Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CollectOperator ¶
type CollectOperator string
const ( List CollectOperator = "List Operator" Sum CollectOperator = "Sum Operator" Min CollectOperator = "Min Operator" Max CollectOperator = "Max Operator" Count CollectOperator = "Count Operator" // TODO: Rename to "Number"? )
type DecisionTable ¶ added in v1.0.4
type DecisionTable struct {
ID string
Name string
HitPolicy HitPolicy
CollectOperator CollectOperator
ExpressionLanguage ExpressionLanguage
Standard Standard
InputFields []FieldInterface
OutputFields []FieldInterface
Rules []Rule
Interferences bool
}
type EntryInterface ¶
type EntryInterface interface {
String() string
ExpressionLanguage() ExpressionLanguage
Validate() (bool, []error)
ValidateDataTypeOfExpression(varType DataType) (bool, error)
ValidateExistenceOfFieldReferencesInExpression(fields []FieldInterface) ([]FieldInterface, []error)
Convert(listener ast.SFeelListenerInterface)
}
type ExpressionLanguage ¶
type ExpressionLanguage string
const ( SFEEL ExpressionLanguage = "SFEEL" FEEL ExpressionLanguage = "FEEL" )
type FieldInterface ¶
type HitPolicy ¶
type HitPolicy string
const ( Unique HitPolicy = "Unique" // Rules do not overlap. Only a single rule can match. First HitPolicy = "First" // Rules are evaluated from top to bottom. Rules may overlap, but only the first match counts. Priority HitPolicy = "Priority" // Rule outputs are prioritized. Rules may overlap, but only the match with the highest output priority counts. Any HitPolicy = "Any" // Multiple matching rules must not make a difference: all matching rules must lead to the same output. )
Single result decision tables
const ( Collect HitPolicy = "Collect" // All matching rules result in an arbitrarily ordered list of all the output entries. RuleOrder HitPolicy = "Rule Order" // All matching rules result in a list of outputs ordered by the sequence of those rules in the decision table. OutputOrder HitPolicy = "Output Order" // All matching rules result in a list of outputs ordered by their (decreasing) output priority. )
Multiple result decision tables
type Rule ¶
type Rule struct {
Description string
InputEntries []EntryInterface
OutputEntries []EntryInterface
InputExpressions []string
OutputExpressions []string
}
type TestField ¶
func (TestField) GetQualifiedName ¶
Click to show internal directories.
Click to hide internal directories.