Class Rule
- All Implemented Interfaces:
Serializable,Cloneable,Map<String,,Object> ActionContext,AutoBindingContext,VariableScope
Patterns to be matched, and
a table of Actions to be taken when a match occurs.
See also RuleSet.
A Rule is structured as a set of nested tables.
Rule Pattern Table SimpleTest Table Action Table
E.g., The following rule has a PatternTable with 2 Patterns. Each pattern has one SimpleTest. The rule has an Action table with two actions. The second action has a parameter table with one parameter.
Rule myRule
{
if ((fact patternA && patternA.x == 1) &&
(fact patternB && patternB.y = patternA.y))
{
retract(patternB);
println(PatternB.y + "retracted");
}
}
The following applies to the Rule classes and to the
nested classes it uses.
To be valid a Rule is required to have at least one Pattern but is not required to have any Actions.
On output, String properties can be accessed
using specific getters, such as getName(), or generic
getters, such as getProperty("name"). There
are corresponding methods for accessing option
lists for the properties and the selected option.
See RuleComponent
On input, property values should be set back into the same instances.
Use RuleDictionary.update(java.util.List<oracle.rules.sdk2.exception.SDKWarning>) to accept changes.
On input, property
values are always Strings.
Input events can be handled through use of specific methods on the classes or using theTableEditor class.
Validation is done when validate() is called rather than at set time.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class oracle.rules.sdk2.ruleset.RuleBase
RuleBase.Priority, RuleBase.RuleTypeNested classes/interfaces inherited from class oracle.rules.sdk2.dictionary.DictionaryComponent
DictionaryComponent.Diff<T extends DictionaryComponent>, DictionaryComponent.DiffSummary, DictionaryComponent.DiffTypeNested classes/interfaces inherited from interface java.util.Map
Map.Entry<K extends Object,V extends Object> Nested classes/interfaces inherited from interface oracle.rules.sdk2.ruleset.VariableScope
VariableScope.ExprLocation -
Field Summary
Fields inherited from class oracle.rules.sdk2.ruleset.RuleComponent
BUILTINFields inherited from class oracle.rules.sdk2.dictionary.DictionaryComponent
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 -
Method Summary
Modifier and TypeMethodDescriptiongetAction(int i) Shorthand for getActionTable.getAction(i)table of actions for the ruleGet ActionTable Property.Deprecated.no replacementDeprecated.no replacementString[]String[]booleanare the names in the containing DictionaryComponentTable distinct?voidsetCustomizableTemplate(String template) Deprecated.no replacementvoidvalidate(List<SDKException> errors, List<SDKWarning> warnings) Validate and return errors and warningsvoidvalidate(List<SDKException> errors, List<SDKWarning> warnings, int modelChangeLowerBound, int ruleChangeLowerBound) Validate and return errors and warningsMethods inherited from class oracle.rules.sdk2.ruleset.RuleCommon
convertPatternTable, getAdvancedModeProperty, getLogicalProperty, getPattern, getPatterns, getPatternTable, getPatternTableProperty, getRoot, getSimpleTest, isAdvancedMode, isLogical, mustBeAdvancedMode, mustNotBeTreeMode, put, RHSRuleVariables, setAdvancedMode, setLogicalMethods inherited from class oracle.rules.sdk2.ruleset.RuleBase
genRLBindVars, get, getActiveProperty, getCalendarForm, getCalendarFormOptions, getCalendarFormProperty, getCalendarFormSelected, getEffectiveEndDate, getEffectiveEndDateProperty, getEffectiveStartDate, getEffectiveStartDateProperty, getIntPriority, getPriority, getPriorityOptions, getPriorityProperty, getReturnExpressionTableSize, getRuleType, getSimpleTests, getSimpleTestTable, getSimpleTestTableProperty, getTreeModeProperty, inScopeVariables, isActive, isCustomizable, isTreeMode, isValid, isVisible, setActive, setCalendarForm, setCustomizable, setEffectiveEndDate, setEffectiveStartDate, setPriority, setTreeMode, validateMethods inherited from class oracle.rules.sdk2.ruleset.RuleComponent
get, getParent, getParentTable, getParentVariableScope, inScopeVariables, parentAction, parentActionContext, parentAutoBindingContext, parentFunction, parentPattern, parentRule, parentRuleBase, parentRuleCommon, parentRuleSheet, parentTest, parentVariable, parentVerbalRule, toString, toStringMethods inherited from class oracle.rules.sdk2.dictionary.DictionaryComponent
_get, _put, clear, containsKey, containsValue, entrySet, forceSync, getAEReferences, getAlias, getAlias, getAlias, getAlias, getAliasProperty, getAllReferences, getContainedDiffs, getCustom, getDependents, getDescription, getDescription, getDescriptionProperty, getDiff, getDiffMatchValue, getDiffProperties, getDiffs, getExprParserReferences, getFullyQualifiedAlias, getFullyQualifiedName, getIndex, getIndex, getName, getNameProperty, getNext, getNext, getObjectPath, getOptions, getPrevious, getPrevious, getProperties, getProperty, getReferences, getSelected, getTranslatedAlias, getTranslatedAlias, getTranslatedDescription, hasConflict, hasDiff, init, init, isAliasDistinct, isEmpty, isFullyQualifiedName, isModifiable, isSystemProperty, isUnsavedTranslatedAlias, isUnsavedTranslatedDescription, keySet, putAll, remove, removeDiff, setAlias, setAlias, setCustom, setDescription, setDescription, setName, setTranslatedAlias, setTranslatedDescription, size, validate, valuesMethods inherited from class oracle.rules.sdk2.dictionary.DictionaryObject
_clearID, equals, exists, getAEReferenceCount, getCombinedDataModel, getContainedIDs, getContainedIDs, getDataModel, getDictionary, getID, getIndent, getObjectType, getParentByClass, getParentComponent, getParentComponentTable, getParentObject, getRuleSet, getState, getWarnings, hashCode, isModified, setID, validateMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Method Details
-
getActionTableProperty
Get ActionTable Property.- Returns:
- Action TableProperty
-
getActionTable
table of actions for the rule -
getActions
- Specified by:
getActionsin classRuleBase<Rule>
-
validate
Description copied from class:RuleCommonValidate and return errors and warnings- Overrides:
validatein classRuleCommon<Rule>- Parameters:
errors- a List of error exceptions to append to.warnings- a List of warning exceptions to append to.- See Also:
-
validate
public void validate(List<SDKException> errors, List<SDKWarning> warnings, int modelChangeLowerBound, int ruleChangeLowerBound) Validate and return errors and warnings- Overrides:
validatein classDictionaryObject- Parameters:
errors- a List of error exceptions to append to.warnings- a List of warning exceptions to append to.modelChangeLowerBound- smallest ModelComponent.CreationUpdateNumber modified in thix tx.ruleChangeLowerBound- smallest RuleComponent.CreationUpdateNumber modified in thix tx. Rulesets and rules with UpdateNumber >= modelChangeLowerBound will be revalidated. a value of 0 will force revalidation of all rulesets. A value of Integer.MAX_VALUE will skip validation of all rulesets.
-
getAction
Shorthand for getActionTable.getAction(i)- Parameters:
i- ordinal of Action to retrieve from ActionTable- Returns:
- the Action
- Throws:
IndexOutOfBoundsException
-
getStoredPropertyNames
- Overrides:
getStoredPropertyNamesin classRuleCommon<Rule>- Returns:
- Array of property names which are persisted in the order in which they appear in the schema.
-
getPropertyNames
- Overrides:
getPropertyNamesin classRuleCommon<Rule>- Returns:
- Array of property names available.
-
isNameDistinct
public boolean isNameDistinct()Description copied from class:DictionaryComponentare the names in the containing DictionaryComponentTable distinct?- Overrides:
isNameDistinctin classDictionaryComponent<Rule>- See Also:
-
getCustomizableExpressions
Deprecated.no replacement -
getCustomizableTemplate
Deprecated.no replacement -
setCustomizableTemplate
Deprecated.no replacement
-