public class Expression extends UnnamedRuleComponent<Expression>
The validate() methods validate that the expression is syntactically and semantically correct for the context in which it is used.
The expression value is a string as the user sees it. The resolved value has aliases replaced with IDs in backquotes (e.g. `L}10`). The value and resolved value are synchronized (changing one changes the other). Most users never need to worry about the resolved value.
An expression may be designated as a constant. This affects the value options and makes string quotes optional on input.
Modifier and Type | Class and Description |
---|---|
class |
Expression.ExpressionValueProperty |
DictionaryComponent.Diff<T extends DictionaryComponent>, DictionaryComponent.DiffSummary, DictionaryComponent.DiffType
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 |
---|---|
java.lang.String |
append(java.lang.String str)
Append the given string to the end of the existing Value
Behavior is the same as the append method of java.lang.StringBuffer,
except that a null value of str inserts the
String "null".
|
int[][] |
balanced()
Matches up operators which come in pairs, such as ( ),
then returns an array of
ordered pairs of the matches.
|
java.lang.String |
evaluateConstant()
if the expression can be evaluated at design time, returns its literal value.
|
java.util.List<DOID> |
getAEReferences()
Get the DOIDs referenced by all directly or indirectly contained actions
and expressions
|
Expression |
getAliasedExpression()
if this expression is a reference to a rule test variable, return the expression aliased by the variable.
|
java.util.List<DOID> |
getAllReferences()
Get the DOIDs referenced by this component or contained components
|
java.lang.String[] |
getAutoPatternPropertyOptions()
Deprecated.
No replacement. A no-op.
|
java.lang.String |
getConstant()
Deprecated.
|
java.lang.String[] |
getConstantOptions()
Deprecated.
|
SettableProperty<java.lang.Boolean> |
getConstantProperty()
Get Constant Property.
|
int |
getConstantSelected()
Deprecated.
|
java.lang.String |
getConstructor() |
java.lang.String[] |
getConstructorOptions() |
ChoosableProperty |
getConstructorProperty()
Get Constructor Property.
|
int |
getConstructorSelected() |
int |
getCursorPosition() |
java.util.List<ModelComponent> |
getDependentModelComponents() |
java.lang.String |
getDiffMatchValue()
value to use matching table entries, "" means use positional matching
|
java.lang.String |
getDTActionParameterName()
get the name of the decision table action parameter associated with this expression
Expressions are marked with this property in the Action of the DTAction and in the
ExpressionTable of an associated DTActionNode to indicate the node supplies parameter values
to the action.
|
SettableProperty<java.lang.String> |
getDTActionParameterNameProperty()
Get DTActionParameterName Property.
|
java.lang.String |
getFunction() |
java.lang.String[] |
getFunctionOptions() |
ChoosableProperty |
getFunctionProperty()
Get Function Property.
|
int |
getFunctionSelected() |
java.lang.String |
getImmutableVariable() |
java.lang.String[] |
getImmutableVariableOptions()
Get immutable variables (e.g. final variables, pattern variables)
|
ChoosableProperty |
getImmutableVariableProperty()
Get ImmutableVariable Property.
|
int |
getImmutableVariableSelected() |
java.lang.String |
getMutableVariable() |
java.lang.String[] |
getMutableVariableOptions()
Get variables that could be assignment targets
E.g. non-final globals, pattern properties
|
ChoosableProperty |
getMutableVariableProperty()
Get MutableVariable Property.
|
int |
getMutableVariableSelected() |
java.lang.String |
getOperator() |
java.lang.String[] |
getOperatorOptions() |
ChoosableProperty |
getOperatorProperty()
Get Operator Property.
|
int |
getOperatorSelected() |
java.lang.String |
getParameterAlias()
Get parameter alias
|
java.lang.String |
getParameterAlias(boolean translate)
Get possibly translated parameter alias
|
DOID |
getParameterID() |
java.lang.String |
getParameterName() |
DOID[] |
getParameterTypeIDs()
Get possibly overloaded parameter types
|
java.lang.String[] |
getParameterTypes()
Get possibly overloaded parameter types
|
java.lang.String[] |
getParameterTypes(boolean translate)
Get possibly translated and overloaded parameter types
|
java.util.List<DOID> |
getReferences()
Get the DOIDs referenced by this component (but not the contained components)
|
ExprParser.Token |
getResultToken() |
boolean |
getShowConstants()
Get Show constants in ValueOptions
|
boolean |
getShowFunctions()
Get Show functions and methods in ValueOptions
|
boolean |
getShowVariables()
Get Show variables in ValueOptions
|
Token |
getTokenUnderCursor()
If the cursor is in a token or white space preceeding the token,
returns a description of the token.
|
java.lang.String |
getValue()
returns the String value of the Expression
|
java.lang.String |
getValue(boolean translate)
get optionally translated value
short for
getValueProperty().getValue(translate) |
java.lang.String[] |
getValueOptions()
get some options for an expression value appropriate in this context
|
Expression.ExpressionValueProperty |
getValueProperty()
Get Value Property.
|
int |
getValueSelected() |
java.lang.String |
getVariable()
Deprecated.
|
java.lang.String[] |
getVariableOptions()
Deprecated.
|
int |
getVariableSelected()
Deprecated.
|
java.lang.String |
insert(int offset,
java.lang.String str)
Insert the given string at the given position of the Value.
|
boolean |
isConstant() |
boolean |
isCustomizable()
Deprecated.
no replacement
|
boolean |
isModifiable() |
boolean |
isParameterRequired()
true if, according to the data model, this Expression must be supplied
|
java.lang.String |
replace(int start,
int end,
java.lang.String str)
Insert the given string at the given position of the Value String.
|
boolean |
same(Expression expr)
Is this expression the same as expr?
|
void |
setConstant(boolean flag) |
void |
setConstant(java.lang.String constant)
Deprecated.
|
void |
setConstructor(java.lang.String constructor) |
void |
setCursorPosition(int cursorPosition) |
void |
setCustomizable(boolean flag)
Deprecated.
no replacement
|
void |
setDTActionParameterName(java.lang.String name)
set this expression as a decision table action parameter with the given name
|
void |
setFunction(java.lang.String function) |
void |
setImmutableVariable(java.lang.String constant) |
void |
setLiteralValue(java.lang.String literalValue)
Shorthand for
setConstant(true); setValue(literalValue); |
void |
setMutableVariable(java.lang.String variable) |
void |
setOperator(java.lang.String operator) |
void |
setParameterRequired(boolean parameterRequired)
Deprecated.
No replacement. A no-op.
|
void |
setShowConstants(boolean showConstants)
Set Show constants in ValueOptions
|
void |
setShowConstructorsWithFunctions(boolean b)
Include Constructors in the Function options list
|
void |
setShowFunctions(boolean showFunctions)
Set Show functions and methods in ValueOptions
|
void |
setShowVariables(boolean showVariables)
Set Show variables in ValueOptions
|
void |
setValue(java.lang.String value) |
void |
setVariable(java.lang.String variable)
Deprecated.
|
int[] |
unbalanced()
Matches up operators which come in pairs, such as ( ), then returns an
array of integers indicating unmatched grouping operators.
|
init, isAliasDistinct, isNameDistinct
get, getParent, getParentTable, parentAction, parentActionContext, parentAutoBindingContext, parentFunction, parentPattern, parentRule, parentRuleBase, parentRuleCommon, parentRuleSheet, parentTest, parentVariable, parentVerbalRule, RHSRuleVariables
clear, containsKey, containsValue, entrySet, get, getAlias, getAlias, getAlias, getAlias, getAliasProperty, getContainedDiffs, getCustom, getDependents, getDescription, getDescription, getDescriptionProperty, getDiff, getDiffProperties, getDiffs, getFullyQualifiedAlias, getFullyQualifiedName, getIndex, getIndex, getName, getNameProperty, getNext, getNext, getObjectPath, getOptions, getPrevious, getPrevious, getProperties, getProperty, getSelected, getTranslatedAlias, getTranslatedAlias, getTranslatedDescription, hasConflict, hasDiff, init, isEmpty, isFullyQualifiedName, isSystemProperty, isUnsavedTranslatedAlias, isUnsavedTranslatedDescription, keySet, put, putAll, remove, removeDiff, setAlias, setAlias, setCustom, setDescription, setDescription, setName, setTranslatedAlias, setTranslatedDescription, size, validate, validate, values
equals, exists, 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
getAlias, getName, getPropertyNames, setAlias, setName
public Expression.ExpressionValueProperty getValueProperty()
public java.lang.String getValue()
public void setValue(java.lang.String value)
public java.lang.String[] getValueOptions()
public int getValueSelected()
public SettableProperty<java.lang.Boolean> getConstantProperty()
public boolean isConstant()
public void setConstant(boolean flag)
public SettableProperty<java.lang.String> getDTActionParameterNameProperty()
public java.lang.String getDTActionParameterName()
DTAction
,
DTActionNode
public void setDTActionParameterName(java.lang.String name)
name
- public ChoosableProperty getImmutableVariableProperty()
@Deprecated public java.lang.String getConstant()
Expression.getImmutableVariable()
public java.lang.String getImmutableVariable()
@Deprecated public void setConstant(java.lang.String constant)
Expression.setImmutableVariable(java.lang.String)
public void setImmutableVariable(java.lang.String constant)
@Deprecated public java.lang.String[] getConstantOptions()
Expression.getImmutableVariableOptions()
public java.lang.String[] getImmutableVariableOptions()
@Deprecated public int getConstantSelected()
Expression.getImmutableVariableSelected()
public int getImmutableVariableSelected()
public ChoosableProperty getOperatorProperty()
public java.lang.String getOperator()
public void setOperator(java.lang.String operator)
public java.lang.String[] getOperatorOptions()
public int getOperatorSelected()
public ChoosableProperty getMutableVariableProperty()
@Deprecated public java.lang.String getVariable()
Expression.getMutableVariable()
public java.lang.String getMutableVariable()
@Deprecated public void setVariable(java.lang.String variable)
Expression.setMutableVariable(java.lang.String)
public void setMutableVariable(java.lang.String variable)
@Deprecated public java.lang.String[] getVariableOptions()
Expression.getMutableVariableOptions()
public java.lang.String[] getMutableVariableOptions()
@Deprecated public int getVariableSelected()
Expression.getMutableVariableSelected()
public int getMutableVariableSelected()
public ChoosableProperty getFunctionProperty()
public java.lang.String getFunction()
public void setFunction(java.lang.String function)
public java.lang.String[] getFunctionOptions()
public int getFunctionSelected()
public ChoosableProperty getConstructorProperty()
public java.lang.String getConstructor()
public void setConstructor(java.lang.String constructor)
public java.lang.String[] getConstructorOptions()
public int getConstructorSelected()
public ExprParser.Token getResultToken()
public java.lang.String getParameterName()
public java.lang.String getParameterAlias()
public java.lang.String getParameterAlias(boolean translate)
translate
- public DOID getParameterID()
public java.lang.String[] getParameterTypes()
public java.lang.String[] getParameterTypes(boolean translate)
translate
- public DOID[] getParameterTypeIDs()
public boolean isParameterRequired()
public void setLiteralValue(java.lang.String literalValue)
setConstant(true); setValue(literalValue);
@Deprecated public boolean isCustomizable()
@Deprecated public void setCustomizable(boolean flag)
public boolean getShowFunctions()
public void setShowFunctions(boolean showFunctions)
public boolean getShowConstants()
public void setShowConstants(boolean showConstants)
public boolean getShowVariables()
public void setShowVariables(boolean showVariables)
public boolean same(Expression expr)
expr
- @Deprecated public java.lang.String[] getAutoPatternPropertyOptions()
public java.util.List<DOID> getReferences()
DictionaryComponent
getReferences
in class DictionaryComponent<Expression>
public java.util.List<DOID> getAEReferences()
DictionaryComponent
getAEReferences
in class DictionaryComponent<Expression>
public java.util.List<DOID> getAllReferences()
DictionaryComponent
getAllReferences
in class DictionaryComponent<Expression>
public java.util.List<ModelComponent> getDependentModelComponents()
public int[][] balanced()
public int[] unbalanced()
public void setShowConstructorsWithFunctions(boolean b)
public java.lang.String append(java.lang.String str)
str
- the String to appendpublic java.lang.String insert(int offset, java.lang.String str)
0 <= offset <="getExpression.length()" pre>=>
offset
- where to insert the text, 0 basedstr
- the text to insertpublic java.lang.String replace(int start, int end, java.lang.String str)
0 <= start <="end" pre>=>
start
- beginning index of substring to replace, 0 basedend
- ending index of substring to replace, 0 basedstr
- the text to insertpublic int getCursorPosition()
public void setCursorPosition(int cursorPosition)
public Token getTokenUnderCursor()
public java.lang.String evaluateConstant()
@Deprecated public void setParameterRequired(boolean parameterRequired)
public java.lang.String getValue(boolean translate)
getValueProperty().getValue(translate)
translate
- public java.lang.String getDiffMatchValue()
UnnamedComponent
getDiffMatchValue
in interface UnnamedComponent
getDiffMatchValue
in class UnnamedRuleComponent<Expression>
public Expression getAliasedExpression()
public boolean isModifiable()
isModifiable
in class DictionaryComponent<Expression>