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.VariableProperty
DictionaryComponent.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. |
BUILTIN
PROP_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, validate
getDiffMatchValue, init, isAliasDistinct, isNameDistinct
get, getParent, getParentTable, parentAction, parentActionContext, parentAutoBindingContext, parentFunction, parentPattern, parentRule, parentRuleBase, parentRuleCommon, parentRuleSheet, parentTest, parentVariable, parentVerbalRule, RHSRuleVariables
clear, 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, values
equals, exists, getAEReferences, getCombinedDataModel, getContainedIDs, getContainedIDs, getDataModel, getDictionary, getID, getObjectType, getParentByClass, getParentComponent, getParentComponentTable, getParentObject, getRuleSet, getState, getWarnings, hashCode, isModified, validate
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName, getPropertyNames, setAlias, setName
public 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.IndexOutOfBoundsException
public Expression getSimpleTestRight(int i)
i
- ordinal of SimpleTest to retrieve from SimpleTestTablejava.lang.IndexOutOfBoundsException
public java.lang.String getSimpleTestOperator(int i)
i
- ordinal of SimpleTest to retrieve from SimpleTestTablejava.lang.IndexOutOfBoundsException
public 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_ above
public void setTestForm(java.lang.String testForm)
see TEST_FORM_ above
public java.lang.String[] getTestFormOptions()
public int getTestFormSelected()
public TableProperty<SimpleTest> getSimpleTestTableProperty()
public SimpleTestTable getSimpleTestTable()
Pattern.hasFactType()
.
See SimpleTest
public 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 UnnamedComponent
getAlias
in class DictionaryComponent<Pattern>
public java.lang.String getAlias(boolean translate)
DictionaryComponent
getAlias
in class DictionaryComponent<Pattern>
translate
- whether to get the translated aliaspublic boolean isVisible()
public boolean hasFactType()
hasFactType
in class FactBinding<Pattern>