public class Function extends ConstrainableComponent<Function> implements Callable
Function.isTestEnabled()
and Function.test(java.lang.StringBuilder)
methods for providing
a "Test" button in the UI that when pressed, actually invokes the defined function
in a RuleSession and returns the result for the UI to display.
See details for each method.Modifier and Type | Class and Description |
---|---|
static class |
Function.TestResult |
DictionaryComponent.Diff<T extends DictionaryComponent>, DictionaryComponent.DiffSummary, DictionaryComponent.DiffType
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
FORM_FREE
Deprecated.
|
static java.lang.String |
FORM_STRUCTURED
Deprecated.
|
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.util.List<Action> |
getActions() |
ActionTable |
getActionTable()
Retrieve the ActionTable used to create
Function body (in place of Body parameter)
|
TableProperty<Action> |
getActionTableProperty()
Get ActionTable Property.
|
java.util.List<java.util.List<DOID>> |
getAssertedTypeIDs() |
java.lang.String |
getBody()
Deprecated.
|
DOID[] |
getExceptionIDs() |
java.lang.String[] |
getExceptions()
Get all the exceptions of the function
|
java.lang.String |
getForm()
Deprecated.
|
FormalParameterTable |
getFormalParameterTable()
Get all the parameters of the function
|
TableProperty<FormalParameter> |
getFormalParameterTableProperty()
Get FormalParameterTable Property.
|
java.lang.String[] |
getFormOptions()
Deprecated.
|
int |
getFormSelected()
Deprecated.
|
Modifiers |
getModifiers() |
java.lang.String |
getParameterList()
Get parameter list as a String
|
java.lang.String |
getParameterList(boolean translate)
Get optionally translated parameter list as a String
|
java.util.List<? extends Parameter> |
getParameters()
Get all the parameters of the callable interface (Function/Method/Constructor)
Function returns FormalParameterTable and Method/Constructor return OverloadedParameterTable
|
int |
getReturnExpressionTableSize() |
boolean |
isBuiltIn()
Whether the funtion is a RL built-in function or user-defined function
|
boolean |
isNameDistinct()
are the names in the containing DictionaryComponentTable distinct?
|
boolean |
isReturnTypePrimitive()
Whether the return type of the function is primitive (i.e. int, char, double etc.)?
|
boolean |
isTestEnabled()
Should the UI enable the "Test" button?
|
void |
setBody(java.lang.String body)
Deprecated.
|
void |
setExceptions(java.lang.String[] exps)
Set all the exceptions of the function
|
void |
setForm(java.lang.String form)
Deprecated.
|
boolean |
test(java.lang.StringBuilder stdout)
Deprecated.
|
boolean |
test(java.lang.StringBuilder stdout,
java.lang.ClassLoader parent)
Execute this function in a new RuleSession, and return its result.
|
Function.TestResult |
test(java.lang.StringBuilder stdout,
java.lang.ClassLoader parent,
java.lang.Integer level,
java.lang.Integer limit) |
getBucketSetAlias, getBucketSetOptions, getBucketSetProperty, setBucketSet, setBucketSetByAlias
getFullyQualifiedTypeName, getListContentType, getListContentTypeFullName, getListContentTypeID, getListContentTypeName, getListContentTypeOptions, getListContentTypeProperty, getType, getTypeID, getTypeName, getTypeOptions, getTypeProperty, getTypeSelected, isCollection, isPrimitiveType, setListContentType, setListContentTypeID, setListContentTypeName, setType, setTypeID, setTypeName
getParent, getParentTable, getVisibleProperty, isVisible, setVisible
clear, containsKey, containsValue, entrySet, get, getAlias, getAlias, 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, init, isAliasDistinct, isEmpty, isFullyQualifiedName, isModifiable, isSystemProperty, isUnsavedTranslatedAlias, isUnsavedTranslatedDescription, keySet, put, putAll, remove, removeDiff, setAlias, setAlias, setCustom, setDescription, setDescription, setName, setTranslatedAlias, setTranslatedDescription, size, validate, 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
getDescription, getFullyQualifiedName, getID, getType, getTypeID, isVisible, setDescription, setVisible
@Deprecated public static final java.lang.String FORM_STRUCTURED
@Deprecated public static final java.lang.String FORM_FREE
@Deprecated public java.lang.String getForm()
@Deprecated public void setForm(java.lang.String form)
@Deprecated public java.lang.String[] getFormOptions()
@Deprecated public int getFormSelected()
public boolean isBuiltIn()
public TableProperty<FormalParameter> getFormalParameterTableProperty()
public FormalParameterTable getFormalParameterTable()
public TableProperty<Action> getActionTableProperty()
public ActionTable getActionTable()
public java.util.List<? extends Parameter> getParameters()
Callable
getParameters
in interface Callable
public java.lang.String[] getExceptions()
public void setExceptions(java.lang.String[] exps)
exps
- The list of exceptions of the function.public java.util.List<Action> getActions()
public int getReturnExpressionTableSize()
@Deprecated public java.lang.String getBody()
@Deprecated public void setBody(java.lang.String body)
body
- A string represeting body of the functionpublic boolean isReturnTypePrimitive()
public java.lang.String getParameterList()
getParameterList
in interface Callable
public java.lang.String getParameterList(boolean translate)
getParameterList
in interface Callable
public boolean isNameDistinct()
DictionaryComponent
isNameDistinct
in class DictionaryComponent<Function>
See following truth table. ND=name distinct, AD=alias distinct.
ND AD
--+--
F F no constraint on name or alias distinctness
F T aliases must be distinct but not names (used for RL functions)
T F aliases must be distinct, unless they refer to the same name. Names are distinct within a single dictionary but not the combined dictionary.
T T names and aliases distinct in combined dictionary
public java.util.List<java.util.List<DOID>> getAssertedTypeIDs()
public boolean isTestEnabled()
Function.test(java.lang.StringBuilder)
@Deprecated public boolean test(java.lang.StringBuilder stdout) throws RLException, SDKException
RLException
SDKException
public boolean test(java.lang.StringBuilder stdout, java.lang.ClassLoader parent) throws RLException, SDKException
Function.isTestEnabled()
is true.
The UI should invoke test() as follows:
Function f; StringBuilder output = new StringBuilder(); try { boolean testPassed = f.test(output); // display Test Passed or Test Failed } catch (Exception e) { // display information about e, including stacktrace } // display output
stdout
- the output StringBuilderRLException
SDKException
public Modifiers getModifiers()
getModifiers
in interface Callable
public DOID[] getExceptionIDs()
getExceptionIDs
in interface Callable
public Function.TestResult test(java.lang.StringBuilder stdout, java.lang.ClassLoader parent, java.lang.Integer level, java.lang.Integer limit) throws RLException, SDKException
RLException
SDKException