Package oracle.rules.sdk2.datamodel
Class DSL
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,
,Object> ActionContext
,UnnamedComponent
,AutoBindingContext
,VariableScope
public class DSL
extends UnnamedModelComponent<DSL>
implements VariableScope, ActionContext, AutoBindingContext
- Since:
- 12.1.2
- Author:
- ganradha
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class oracle.rules.sdk2.dictionary.DictionaryComponent
DictionaryComponent.Diff<T extends DictionaryComponent>, DictionaryComponent.DiffSummary, DictionaryComponent.DiffType
Nested 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
FieldsModifier and TypeFieldDescriptionstatic final String
Indicates a Domain Mapping for Actions Only ActionTable property is used.static final String
Indicates a Domain Mapping for Tests Only SimpleTestTable property is used.Fields 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 TypeMethodDescriptioncomputeVerbalChoices
(String pattern, Map<DOID, List<Choice>> inScopeTypeVariablesMap, Map<DOID, Expression> parameterExpressionMap) Compute the Verbal Choices derived from this DSL for the given in-scope variables and parameter Expressionsvoid
Get ActionTable for Mappings of formFORM_ACTION
Get the DSLParameterTablegetForm()
Get Form of DSL MappingString[]
Gets the untranslated Form Options for this DSL Mapping For Translated Options use {@link oracle.rules.sdk2.datamodel.DSL#getFormProperty().getTranslatedOptions()}String[]
int
boolean
getRL
(StringBuilder sb, Map<Object, Object> properties, ExpressionTable expressionTable) Internal Use OnlygetRoot()
Return the first test, creating if neededGet SimpleTestTable for Mappings of formFORM_TEST
String[]
Get translated DSL Definition Value.getValue()
Get DSL Definition ValuegetValue
(boolean translate) Get DSL Definition ValueinScopeVariables
(boolean includeAggregates, VariableScope.ExprLocation loc) Regardless of the location of the Expression requesting in scope variables, for both SimpleTest and Action mappings, DSL Parameters would provide bindings that would be in scope.boolean
isDraft()
Is this DSL marked as a Draft?boolean
Is the DSL Value parse-able or Not?boolean
is tree mode set?boolean
Is the translated Definition Value unsaved?parseDefinition
(String definitionValue, boolean translate, List<SDKWarning> warnings) Parse parameter tokens in the definition Value and validate their usage.Generic property setter.void
setDraft
(boolean draft) Mark this DSL as a Draftvoid
Set Form of DSL Mappingvoid
setTranslatedValue
(String value) Set translated DSL Definition Valuevoid
setTreeMode
(boolean flag) Set Tree mode.void
Set DSL Definition Valuevoid
Set DSL Definition Value and optionally the translated Definition Valuevoid
validate
(List<SDKException> errors, List<SDKWarning> warnings) Validate and append errors and warnings.void
validate
(List<SDKException> errors, List<SDKWarning> warnings, int modelChangeLowerBound, int ruleChangeLowerBound) Validate the RuleDictionary object.Methods inherited from class oracle.rules.sdk2.datamodel.UnnamedModelComponent
get, getDiffMatchValue, init, isAliasDistinct, isNameDistinct
Methods inherited from class oracle.rules.sdk2.datamodel.ModelComponent
getCreationUpdateNumber, getParent, getParentTable, getVisibleProperty, isVisible, setVisible
Methods 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, 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, isEmpty, isFullyQualifiedName, isModifiable, isSystemProperty, isUnsavedTranslatedAlias, isUnsavedTranslatedDescription, keySet, putAll, remove, removeDiff, setAlias, setAlias, setCustom, setDescription, setDescription, setName, setTranslatedAlias, setTranslatedDescription, size, validate, values
Methods 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, validate
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
Methods inherited from interface oracle.rules.sdk2.dictionary.UnnamedComponent
getAlias, getName, setAlias, setName
-
Field Details
-
FORM_TEST
Indicates a Domain Mapping for Tests Only SimpleTestTable property is used.- See Also:
-
FORM_ACTION
Indicates a Domain Mapping for Actions Only ActionTable property is used.- See Also:
-
-
Method Details
-
getStoredPropertyNames
- Overrides:
getStoredPropertyNames
in classUnnamedModelComponent<DSL>
- Returns:
- Array of property names which are persisted in the order in which they appear in the schema.
-
getPropertyNames
- Specified by:
getPropertyNames
in interfaceUnnamedComponent
- Overrides:
getPropertyNames
in classUnnamedModelComponent<DSL>
- Returns:
- Array of property names available.
-
getValue
Get DSL Definition Value- Returns:
- DSL definition Value
-
setValue
Set DSL Definition Value- Parameters:
value
- Definition Value
-
getTranslatedValue
Get translated DSL Definition Value.- Returns:
- translated DSL Definition Value, or "" if no translation available
-
setTranslatedValue
Set translated DSL Definition Value- Parameters:
value
- Definition Value
-
getValue
Get DSL Definition Value- Parameters:
translate
- whether to get the translated value- Returns:
- translated DSL Definition value, or value if translation does not exist
-
setValue
Set DSL Definition Value and optionally the translated Definition Value- Parameters:
value
- New (translated) value.translate
- whether to also set the translated value
-
isUnsavedTranslatedValue
public boolean isUnsavedTranslatedValue()Is the translated Definition Value unsaved?- Returns:
- true or false
-
getForm
Get Form of DSL Mapping- Returns:
FORM_TEST
orFORM_ACTION
-
setForm
Set Form of DSL Mapping- Parameters:
form
-FORM_TEST
orFORM_ACTION
-
getDSLParameterTable
Get the DSLParameterTable- Returns:
- DSLParameterTable
-
getSimpleTestTable
Get SimpleTestTable for Mappings of formFORM_TEST
- Specified by:
getSimpleTestTable
in interfaceAutoBindingContext
- Returns:
- SimpleTestTable
-
getActionTable
Get ActionTable for Mappings of formFORM_ACTION
- Returns:
- ActionTable
-
isTreeMode
public boolean isTreeMode()is tree mode set?- Specified by:
isTreeMode
in interfaceAutoBindingContext
- Returns:
- boolean
-
setTreeMode
public void setTreeMode(boolean flag) Set Tree mode. This Property is only valid for Definitions with Mappings of formFORM_TEST
Must callRuleDictionary.update(java.util.List<oracle.rules.sdk2.exception.SDKWarning>)
after changing tree mode.- Parameters:
flag
- boolean
-
isDraft
public boolean isDraft()Is this DSL marked as a Draft?- Returns:
- true if marked as a Draft, false otherwise
-
setDraft
public void setDraft(boolean draft) Mark this DSL as a Draft- Parameters:
draft
- boolean flag
-
getValueProperty
-
getFormProperty
-
getSimpleTestTableProperty
-
getActionTableProperty
-
getTreeModeProperty
-
getDraftProperty
-
getDSLParameterTableProperty
-
getFormOptions
Gets the untranslated Form Options for this DSL Mapping For Translated Options use {@link oracle.rules.sdk2.datamodel.DSL#getFormProperty().getTranslatedOptions()}- Returns:
- String[] Array of Strings representing the untranslated options
-
put
Description copied from class:DictionaryComponent
Generic property setter. Throws runtime exceptions for incorrect arguments. Please see the specific bean class for a list of properties, their types, and permissible values.A put() with either null key or null value throws a NullPointerException.
A put() with a key that is not a String throws a ClassCastException
A put() of a value that is not of the correct type for the key throws a ClassCastException.
Bean properties which have no set() method are read only, and cannot be modified using the put(). Attempting to do so throws a runtime IllegalArgumentException. PROP_ID, and PROP_*_SELECTED are always read only.
-
validate
Description copied from class:DictionaryComponent
Validate and append errors and warnings.- Overrides:
validate
in classDictionaryComponent<DSL>
- 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) Description copied from class:DictionaryObject
Validate the RuleDictionary object. Append error and warning exceptions. Errors will causeRuleDictionary.update(java.util.List<oracle.rules.sdk2.exception.SDKWarning>)
to throw an exception. A dictionary with warnings but no errors can be persisted.- Overrides:
validate
in 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.
-
parseDefinition
public Collection<String> parseDefinition(String definitionValue, boolean translate, List<SDKWarning> warnings) Parse parameter tokens in the definition Value and validate their usage. Parameter tokens in the definition Value should be enclosed within curly braces- Returns:
- List of param tokens from the definitionValue
-
isParseable
public boolean isParseable()Is the DSL Value parse-able or Not? The DSL is considered to be parse-able if a. There are no invalid usages of parameters in the Definition Value & Translated value (if any) b. All parameters used in the Definition Value are defined- Returns:
- true if the above conditions are met, false otherwise
-
computeVerbalChoices
public Collection<VerbalChoice> computeVerbalChoices(String pattern, Map<DOID, List<Choice>> inScopeTypeVariablesMap, Map<DOID, Expression> parameterExpressionMap) Compute the Verbal Choices derived from this DSL for the given in-scope variables and parameter Expressions- Parameters:
inScopeTypeVariablesMap
- In Scope Variables aggregated by their TypeparameterExpressionMap
- Expressions for computing the DSL Parameter Values- Returns:
- VerbalChoices
-
inScopeVariables
public List<ScopedVariable> inScopeVariables(boolean includeAggregates, VariableScope.ExprLocation loc) Regardless of the location of the Expression requesting in scope variables, for both SimpleTest and Action mappings, DSL Parameters would provide bindings that would be in scope. Though only params of FORM_VARIABLE would be used to determine in scope DSLs, all the parameters are in the scope of this DSL Mapping.- Specified by:
inScopeVariables
in interfaceVariableScope
-
getReturnExpressionTableSize
public int getReturnExpressionTableSize()- Specified by:
getReturnExpressionTableSize
in interfaceActionContext
- Returns:
- Size of Return Expression Table
-
genRLBindVars
public void genRLBindVars()- Specified by:
genRLBindVars
in interfaceActionContext
-
getRoot
Return the first test, creating if needed- Specified by:
getRoot
in interfaceAutoBindingContext
- Returns:
- FactBinding
-
getRL
public boolean getRL(StringBuilder sb, Map<Object, Object> properties, ExpressionTable expressionTable) Internal Use Only
-