public class Pattern extends FactBinding<Pattern>
A Pattern is used to structure rule conditions. A Pattern has a form property, one of
PatternTable, testForm, expression, simpleTestTable, connective, and operator properties of the Pattern should be used.
IF
there is no case where {
z is a Zebra and
z.color == "pink"
THEN
...
Code to construct this condition:
Pattern outer = rule.getRoot();
outer.setForm(Pattern.FORM_NESTED_TABLE);
outer.setOperator(Pattern.OPERATOR_NONE);
Pattern nested = outer.getNestedTable().add();
nested.setFactType("Zebra");
nested.setVariable("z");
nested.setTestForm(Pattern.TEST_FORM_SIMPLE);
SimpleTest test = nested.getSimpleTestTable().add();
test.getLeft().setValue("z.color");
test.getRight().setLiteralValue("pink");
FactBinding.FactPathProperty, FactBinding.VariablePropertyDictionaryComponent.Diff<T extends DictionaryComponent>, DictionaryComponent.DiffSummary, DictionaryComponent.DiffType| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONNECTIVE_AND |
static java.lang.String |
CONNECTIVE_OR |
static java.lang.String |
FORM_FACT_PATH |
static java.lang.String |
FORM_FACT_TYPE
Use with Pattern Form.
|
static java.lang.String |
FORM_NESTED_TABLE |
static java.lang.String |
OPERATOR_AGGREGATE |
static java.lang.String |
OPERATOR_FOREACH
Use with Pattern Operator.
|
static java.lang.String |
OPERATOR_NONE |
static java.lang.String |
OPERATOR_SOME |
static java.lang.String |
TEST_FORM_ADVANCED
TEST_FORM_ADVANCED Specifies the use of boolean
Expression located in Expression property. |
static java.lang.String |
TEST_FORM_NOTEST
Specifies test form.
|
static java.lang.String |
TEST_FORM_SIMPLE
TEST_FORM_SIMPLE Specifies the use of
SimpleTest, located in SimpleTestTable. |
BUILTINPROP_ACCESS, PROP_ACTION_SELECTED, PROP_ACTION_TABLE, PROP_ACTIVE, PROP_ACTUAL_TEST_OUTPUT_TABLE, PROP_ADHOC_TEST_VALIDATION, PROP_ADVANCED_MODE, PROP_AGGREGATE, PROP_AGGREGATE_TABLE, PROP_ALIAS, PROP_ALLOW_GAPS, PROP_ALWAYS_SELECTED, PROP_ARRAY, PROP_ARRAY_COMPONENT_TYPE, PROP_ARRAY_COMPONENT_TYPE_ID, PROP_ARRAY_FACT_TYPE_TABLE, PROP_AUTO_CONFLICT_RESOLUTION, PROP_AUTO_PATTERN_PROPERTY, PROP_AUTO_SYNC, PROP_BODY, PROP_BUCKET_ID_TABLE, PROP_BUCKET_SET, PROP_BUCKET_SET_ID, PROP_BUCKET_SET_TABLE, PROP_BUCKET_TABLE, PROP_CALENDAR_FORM, PROP_CHECK_RULE_FLOW, PROP_CHILD_DIMENSION_NODES, PROP_CONFLICT, PROP_CONFLICT_POLICY, PROP_CONNECTIVE, PROP_CONSTANT, PROP_CONSTRUCTOR, PROP_CONSTRUCTOR_TABLE, PROP_CREATION_UPDATE_NUMBER, PROP_CURSOR_POSITION, PROP_CUSTOM_BINDING, PROP_DATA_MODEL, PROP_DATA_SOURCE, PROP_DECISION_FUNCTION, PROP_DECISION_FUNCTION_ID, PROP_DECISION_FUNCTION_INPUT_TABLE, PROP_DECISION_FUNCTION_OUTPUT_TABLE, PROP_DECISION_FUNCTION_RULESET_TABLE, PROP_DECISION_FUNCTION_TABLE, PROP_DECISION_MODEL, PROP_DESCRIPTION, PROP_DF_FACT, PROP_DF_FACT_ID, PROP_DICT_LOADING_EXTENSION, PROP_DICTIONARY_LINK_TABLE, PROP_DIMENSION_NODE_TABLE, PROP_DIMENSION_TABLE, PROP_DISALLOW_ERROR_SUPPRESSION, PROP_DRAFT, PROP_DSL_ID, PROP_DSL_PARAMETER_TABLE, PROP_DSL_TABLE, PROP_DSL_VALUE, PROP_DT_ACTION_NODE_TABLE, PROP_DT_ACTION_PARAMETER_NAME, PROP_DTACTION_TABLE, PROP_DTRULE_TABLE, PROP_EFFECTIVE_END_DATE, PROP_EFFECTIVE_START_DATE, PROP_ENUM, PROP_ENUM_BUCKET_SET, PROP_ENUM_BUCKET_SET_ID, PROP_ENUM_TYPE, PROP_EXCEPTION_IDS, PROP_EXCEPTIONS, PROP_EXCLUDED, PROP_EXPECTED_TEST_OUTPUT_TABLE, PROP_EXPRESSION, PROP_EXPRESSION_TABLE, PROP_FACT_PATH, PROP_FACT_PATH_IDS, PROP_FACT_TABLE, PROP_FACT_TYPE, PROP_FACT_TYPE_ID, PROP_FACT_TYPE_IDS, PROP_FACT_TYPE_TABLE, PROP_FACT_TYPES, PROP_FIELD_TABLE, PROP_FINAL, PROP_FORM, PROP_FORMAL_PARAMETER_TABLE, PROP_FUNCTION, PROP_FUNCTION_ID, PROP_FUNCTION_SIGNATURE, PROP_FUNCTION_TABLE, PROP_GENERATED_FROM, PROP_GLOBAL_ALIAS, PROP_ID, PROP_INCLUDE_CHAINED_EXPR, PROP_INCLUDED, PROP_INTERFACE, PROP_INTERFACE_IDS, PROP_INTERFACES, PROP_IS_ABSTRACT, PROP_IS_CONSTANT, PROP_IS_ENUM, PROP_IS_FINAL, PROP_IS_JAXB2, PROP_IS_PRIMARY_KEY, PROP_IS_STATIC, PROP_IS_TOPLEVEL_VIEW_OBJECT, PROP_LEFT, PROP_LIFECYCLE, PROP_LIFECYCLE_DESCRIPTION, PROP_LINK_PATH, PROP_LIST, PROP_LIST_CONTENT_TYPE, PROP_LIST_CONTENT_TYPE_ID, PROP_LOCAL, PROP_LOGICAL, PROP_METHOD_TABLE, PROP_MODIFIERS, PROP_NAME, PROP_NAMESPACE, PROP_NESTED_TABLE, PROP_NO_CONFLICT, PROP_NO_RULE_FIRED_IS_ERROR, PROP_NODE_NAME, PROP_OPERATOR, PROP_OPERATOR_ID, PROP_ORDER_RULES_BY_BUCKET, PROP_OTHERWISE, PROP_OUTPUT_TYPES, PROP_OVERLOADED_PARAMETER_TABLE, PROP_OVERRIDDEN_BY, PROP_OVERRIDE, PROP_PACKAGE, PROP_PARAM, PROP_PARAM_EXPRESSION, PROP_PARAMETER_ALIAS, PROP_PARAMETER_ID, PROP_PARAMETER_LIST, PROP_PARAMETER_NAME, PROP_PARAMETER_REQUIRED, PROP_PARAMETER_TYPE_IDS, PROP_PARAMETER_TYPES, PROP_PARENT_DIMENSION_NODE, PROP_PATTERN_TABLE, PROP_PHRASE_SUGGESTION_FORM, PROP_PREFERENCES, PROP_PREFIX_LINKED_NAMES, PROP_PRIORITY, PROP_PRIVATE_BUCKET_SET, PROP_PROPERTIES, PROP_PROPERTY, PROP_PROPERTY_ID, PROP_PROPERTY_TABLE, PROP_PROPERTY_VALUE_TABLE, PROP_QUALIFIER_PATTERN, PROP_READABLE, PROP_REF_ID, PROP_REPORT_BYUSE_NAMES, PROP_REPORT_PATTERNS, PROP_RESOLVED_TARGET, PROP_RESOLVED_VALUE, PROP_RESOURCE_BUNDLE, PROP_RESTRICT_AUTO_SUGGESTIONS, PROP_RETURN_TYPE, PROP_RIGHT, PROP_RIGHT_SEPARATOR, PROP_RULE_EXEC_ALGORITHM, PROP_RULE_FIRING_LIMIT, PROP_RULE_FIRING_LIMIT_ERROR, PROP_RULE_REPORT_TABLE, PROP_RULE_SET_TABLE, PROP_RULE_SHEET_TABLE, PROP_RULE_TABLE, PROP_RULESET, PROP_RUN_AFTER, PROP_RUN_BEFORE, PROP_SERVICE_CONFIGURATION, PROP_SERVICE_NAME, PROP_SERVICE_NAMESPACE, PROP_SHARED_BUCKET_SET, PROP_SHARED_BUCKET_SET_ID, PROP_SHOW_CONSTANTS, PROP_SHOW_FUNCTIONS, PROP_SHOW_VARIABLES, PROP_SIMPLE_TEST_TABLE, PROP_SOURCE, PROP_STATELESS, PROP_STATIC, PROP_SUPER_CLASS, PROP_SUPER_CLASS_ID, PROP_SUPPORT_XPATH, PROP_SUPPORTS_XPATH_ENABLED, PROP_SYNC_MARK, PROP_SYSTEM, PROP_TARGET, PROP_TARGET_PACKAGE, PROP_TEST_CASE_TABLE, PROP_TEST_FORM, PROP_TEST_INPUT_TABLE, PROP_TEST_MODEL, PROP_TEST_RESULT_TABLE, PROP_TEST_SUITE_TABLE, PROP_TEST_TEMPLATE_TABLE, PROP_TIMESTAMP, PROP_TOKEN_UNDER_CURSOR, PROP_TRANSLATED_ALIAS, PROP_TRANSLATED_DESCRIPTION, PROP_TRANSLATED_GLOBAL_ALIAS, PROP_TRANSLATED_PARAMETER_LIST, PROP_TRANSLATED_QUALIFIER_PATTERN, PROP_TRANSLATED_VALUE, PROP_TRANSLATED_VARIABLE, PROP_TREE, PROP_TREE_MODE, PROP_TYPE, PROP_TYPE_ID, PROP_TYPE_IDS, PROP_TYPES, PROP_UNIQUE_RULESETS, PROP_UNSAVED_TRANSLATED_ALIAS, PROP_UNSAVED_TRANSLATED_DESCRIPTION, PROP_UNSAVED_TRANSLATED_GLOBAL_ALIAS, PROP_UNSAVED_TRANSLATED_QUALIFIER_PATTERN, PROP_UNSAVED_TRANSLATED_VALUE, PROP_UPDATE_NUMBER, PROP_UPDATE_TIME, PROP_VALIDATION, PROP_VALIDATION_UPDATE_NUMBER, PROP_VALUE, PROP_VALUES, PROP_VARIABLE, PROP_VARIABLE_TABLE, PROP_VERBAL_RULE_TABLE, PROP_VERSION, PROP_VERTICAL_ORIENTATION, PROP_VISIBILITY_FILTER, PROP_VISIBILITY_FILTER_ENABLED, PROP_VISIBLE, PROP_WEB_SERVICE, PROP_WRITABLE, PROP_XML_NAME| Modifier and Type | Method and Description |
|---|---|
void |
desurround() |
AggregateTable |
getAggregateTable()
Get the the Aggregate subtable when Operator is OPERATOR_AGGREGATE.
|
TableProperty<Aggregate> |
getAggregteTableProperty()
Get AggregateTable Property.
|
java.lang.String |
getAlias()
Even though we extend UnnamedComponent, we need the variable name to translate expressions from persistent format (`ID`) to user format (name)
|
java.lang.String |
getAlias(boolean translate)
Get alias of DictionaryComponent.
|
java.lang.String |
getConnective()
Get connective (and/or) which combines this Pattern with the following Pattern, if any.
|
java.lang.String[] |
getConnectiveOptions() |
SettableProperty<java.lang.String> |
getConnectiveProperty()
Get Connective Property.
|
int |
getConnectiveSelected() |
Expression |
getExpression() |
DictionaryProperty<Expression> |
getExpressionProperty()
Get Expression Property.
|
java.lang.String |
getForm()
Get Form describing whether this Pattern simple fact type or a subtable of fact types.
|
java.lang.String[] |
getFormOptions() |
TranslatedProperty |
getFormProperty()
Get Form Property.
|
int |
getFormSelected() |
PatternTable |
getNestedTable()
Get the the Pattern subtable when Form is FORM_NESTED_TABLE.
|
TableProperty<Pattern> |
getNestedTableProperty()
Get NestedTable Property.
|
java.lang.String |
getOperator()
Get Pattern operator.
|
java.lang.String[] |
getOperatorOptions() |
SettableProperty<java.lang.String> |
getOperatorProperty()
Get Operator Property.
|
int |
getOperatorSelected() |
Expression |
getSimpleTestLeft(int i)
Shorthand for getSimpleTestTable.getSimpleTest(i).getLeft()
|
java.lang.String |
getSimpleTestOperator(int i)
Shorthand for getSimpleTestTable.getSimpleTest(i).getOperator()
|
Expression |
getSimpleTestRight(int i)
Shorthand for getSimpleTestTable.getSimpleTest(i).getRight()
|
SimpleTestTable |
getSimpleTestTable()
Get the table of tests for this Pattern.
|
TableProperty<SimpleTest> |
getSimpleTestTableProperty()
Get SimpleTestTable Property.
|
static java.lang.String[] |
getSurroundingFormOptions(java.util.List<Pattern> patterns) |
java.lang.String |
getTestForm()
get type of test associated with the Pattern.
|
java.lang.String[] |
getTestFormOptions() |
TranslatedProperty |
getTestFormProperty()
Get TestForm Property.
|
int |
getTestFormSelected() |
java.lang.String |
getVariable() |
java.lang.String |
getVariable(boolean translate) |
FactBinding.VariableProperty |
getVariableProperty()
Get Variable Property.
|
boolean |
hasFactType()
Does the pattern have a fact type?
|
boolean |
isVisible() |
void |
setConnective(java.lang.String connective)
Set connective (and/or) which combines this Pattern with the following Pattern, if any.
|
void |
setForm(java.lang.String form)
|
void |
setOperator(java.lang.String operator)
Set Pattern operator.
|
void |
setTestForm(java.lang.String testForm)
set type of test associated with the Pattern.
|
void |
setVariable(java.lang.String variable) |
Pattern |
surround() |
static Pattern |
surround(java.util.List<Pattern> patterns) |
Pattern |
surround(java.lang.String form) |
static Pattern |
surround(java.lang.String form, java.util.List<Pattern> patterns) |
get, getFactPath, getFactPathIDs, getFactPathOptions, getFactPathProperty, getFactType, getFactTypeID, getFactTypeOptions, getFactTypeProperty, getFactTypeSelected, getKind, put, setFactPath, setFactPathIDs, setFactType, setFactTypeID, validategetDiffMatchValue, init, isAliasDistinct, isNameDistinctget, getParent, getParentTable, parentAction, parentActionContext, parentAutoBindingContext, parentFunction, parentPattern, parentRule, parentRuleBase, parentRuleCommon, parentRuleSheet, parentTest, parentVariable, parentVerbalRule, RHSRuleVariablesclear, containsKey, containsValue, entrySet, getAlias, getAlias, getAliasProperty, getAllReferences, getContainedDiffs, getCustom, getDependents, getDescription, getDescription, getDescriptionProperty, getDiff, getDiffProperties, getDiffs, getFullyQualifiedAlias, getFullyQualifiedName, getIndex, getIndex, getName, getNameProperty, getNext, getNext, getObjectPath, getOptions, getPrevious, getPrevious, getProperties, getProperty, getReferences, getSelected, getTranslatedAlias, getTranslatedAlias, getTranslatedDescription, hasConflict, hasDiff, init, isEmpty, isFullyQualifiedName, isModifiable, isSystemProperty, isUnsavedTranslatedAlias, isUnsavedTranslatedDescription, keySet, putAll, remove, removeDiff, setAlias, setAlias, setCustom, setDescription, setDescription, setName, setTranslatedAlias, setTranslatedDescription, size, validate, valuesequals, exists, getAEReferences, getCombinedDataModel, getContainedIDs, getContainedIDs, getDataModel, getDictionary, getID, getObjectType, getParentByClass, getParentComponent, getParentComponentTable, getParentObject, getRuleSet, getState, getWarnings, hashCode, isModified, validategetClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetName, getPropertyNames, setAlias, setNamepublic static final java.lang.String FORM_FACT_TYPE
public static final java.lang.String FORM_NESTED_TABLE
public static final java.lang.String FORM_FACT_PATH
public static final java.lang.String OPERATOR_FOREACH
OPERATOR_FOREACH corresponds to RL no pattern operator OPERATOR_SOME corresponds to RL exists pattern operator OPERATOR_NONE corresponds to RL not pattern operator OPERATOR_AGGREGATE corresponds to RL aggregate operator
public static final java.lang.String OPERATOR_SOME
public static final java.lang.String OPERATOR_NONE
public static final java.lang.String OPERATOR_AGGREGATE
public static final java.lang.String CONNECTIVE_AND
public static final java.lang.String CONNECTIVE_OR
public static final java.lang.String TEST_FORM_NOTEST
public static final java.lang.String TEST_FORM_SIMPLE
SimpleTest, located in SimpleTestTable.public static final java.lang.String TEST_FORM_ADVANCED
Expression located in Expression property.public void desurround()
public Pattern surround()
public Pattern surround(java.lang.String form)
public static java.lang.String[] getSurroundingFormOptions(java.util.List<Pattern> patterns)
public Expression getSimpleTestLeft(int i)
i - ordinal of SimpleTest to retrieve from SimpleTestTablejava.lang.IndexOutOfBoundsExceptionpublic Expression getSimpleTestRight(int i)
i - ordinal of SimpleTest to retrieve from SimpleTestTablejava.lang.IndexOutOfBoundsExceptionpublic java.lang.String getSimpleTestOperator(int i)
i - ordinal of SimpleTest to retrieve from SimpleTestTablejava.lang.IndexOutOfBoundsExceptionpublic TranslatedProperty getFormProperty()
public java.lang.String getForm()
FORM_public void setForm(java.lang.String form)
Pattern.FORM_FACT_TYPE, Pattern.FORM_FACT_PATH, or Pattern.FORM_NESTED_TABLE. Note! For historical reasons, when you change to nested table, the fact type/path properties are copied to a newly created Pattern in the Pattern.getNestedTable().public java.lang.String[] getFormOptions()
public int getFormSelected()
public TranslatedProperty getTestFormProperty()
public java.lang.String getTestForm()
see TEST_FORM_ abovepublic void setTestForm(java.lang.String testForm)
see TEST_FORM_ abovepublic java.lang.String[] getTestFormOptions()
public int getTestFormSelected()
public TableProperty<SimpleTest> getSimpleTestTableProperty()
public SimpleTestTable getSimpleTestTable()
Pattern.hasFactType(). See SimpleTestpublic DictionaryProperty<Expression> getExpressionProperty()
public Expression getExpression()
public FactBinding.VariableProperty getVariableProperty()
getVariableProperty in class FactBinding<Pattern>public java.lang.String getVariable()
getVariable in class FactBinding<Pattern>public java.lang.String getVariable(boolean translate)
getVariable in class FactBinding<Pattern>public void setVariable(java.lang.String variable)
setVariable in class FactBinding<Pattern>public SettableProperty<java.lang.String> getOperatorProperty()
public java.lang.String getOperator()
Pattern.OPERATOR_FOREACH. Defaults to OPERATOR_FOREACHpublic void setOperator(java.lang.String operator)
Pattern.OPERATOR_FOREACH. Defaults to OPERATOR_FOREACHpublic java.lang.String[] getOperatorOptions()
public int getOperatorSelected()
public SettableProperty<java.lang.String> getConnectiveProperty()
public java.lang.String getConnective()
Util.CONNECTIVE_AND. Defaults to CONNECTIVE_AND.public void setConnective(java.lang.String connective)
Util.CONNECTIVE_AND. Defaults to CONNECTIVE_AND.public java.lang.String[] getConnectiveOptions()
public int getConnectiveSelected()
public TableProperty<Pattern> getNestedTableProperty()
public PatternTable getNestedTable()
public TableProperty<Aggregate> getAggregteTableProperty()
public AggregateTable getAggregateTable()
public java.lang.String getAlias()
getAlias in interface UnnamedComponentgetAlias in class DictionaryComponent<Pattern>public java.lang.String getAlias(boolean translate)
DictionaryComponentgetAlias in class DictionaryComponent<Pattern>translate - whether to get the translated aliaspublic boolean isVisible()
public boolean hasFactType()
hasFactType in class FactBinding<Pattern>