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, setBucketSetByAliasgetFullyQualifiedTypeName, getListContentType, getListContentTypeFullName, getListContentTypeID, getListContentTypeName, getListContentTypeOptions, getListContentTypeProperty, getType, getTypeID, getTypeName, getTypeOptions, getTypeProperty, getTypeSelected, isCollection, isPrimitiveType, setListContentType, setListContentTypeID, setListContentTypeName, setType, setTypeID, setTypeNamegetParent, getParentTable, getVisibleProperty, isVisible, setVisibleclear, 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, valuesequals, exists, getAEReferences, getCombinedDataModel, getContainedIDs, getContainedIDs, getDataModel, getDictionary, getID, getObjectType, getParentByClass, getParentComponent, getParentComponentTable, getParentObject, getRuleSet, getState, getWarnings, hashCode, isModified, validategetClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDescription, 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()
CallablegetParameters in interface Callablepublic 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 Callablepublic java.lang.String getParameterList(boolean translate)
getParameterList in interface Callablepublic boolean isNameDistinct()
DictionaryComponentisNameDistinct 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
RLExceptionSDKException
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 StringBuilderRLExceptionSDKExceptionpublic Modifiers getModifiers()
getModifiers in interface Callablepublic DOID[] getExceptionIDs()
getExceptionIDs in interface Callablepublic Function.TestResult test(java.lang.StringBuilder stdout, java.lang.ClassLoader parent, java.lang.Integer level, java.lang.Integer limit) throws RLException, SDKException
RLExceptionSDKException