Class DecisionTableDataType
- java.lang.Object
-
- org.openl.types.impl.AOpenClass
-
- org.openl.types.impl.ADynamicClass
-
- org.openl.binding.impl.component.ComponentOpenClass
-
- org.openl.rules.dt.data.DecisionTableDataType
-
- All Implemented Interfaces:
INamedThing,IMethodFactory,IOpenLibrary,IVarFactory,IType,IMetaHolder,IOpenClass
public class DecisionTableDataType extends ComponentOpenClass
Provides access to the elements of the Decision table as data.Each Condition and action becomes an internal type and parameters become attributes of this type.
Current implementation has the following limitations:
a) it supports only the access from action method to the variables defined in conditions. No access to other actions is provided b) it will work only if variables in conditions are constants (not formulas) c) it does not provide access to other rules than current one (for example we may want to access the previous rule via $previous.$C1.limit or any random rule via $rules[7].$C1.limit etc.) d) the data is accessible only from inside of the DecisionTable, there is no access from the outside, this will require a special meta-facility in the project to provide standardized external access to internals of the different tables
- Author:
- snshor Created Jun 15, 2010
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.openl.binding.impl.component.ComponentOpenClass
ComponentOpenClass.GetOpenClass, ComponentOpenClass.ThisField
-
-
Field Summary
Fields Modifier and Type Field Description static StringEXPR_FIELD_NAME-
Fields inherited from class org.openl.types.impl.ADynamicClass
fieldMap, instanceClass
-
Fields inherited from class org.openl.types.impl.AOpenClass
nonUniqueLowerCaseFieldMap, STUB, uniqueLowerCaseFieldMap, xlsMetaInfo
-
Fields inherited from interface org.openl.base.INamedThing
LONG, REGULAR, SHORT
-
Fields inherited from interface org.openl.types.IOpenClass
EMPTY
-
-
Constructor Summary
Constructors Constructor Description DecisionTableDataType(DecisionTable decisionTable, String name, OpenL openl, boolean traceUsedFields)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDecisionTableField(IOpenField f)IOpenFieldgetField(String fname, boolean strictMatch)Set<IOpenField>getUsedFields()voidresetLowerCasedUsedFields()-
Methods inherited from class org.openl.binding.impl.component.ComponentOpenClass
addInitializerNode, clearForExecutionMode, getAggregateInfo, getOpenl, newInstance
-
Methods inherited from class org.openl.types.impl.ADynamicClass
addField, fieldMap, getConstructor, getDisplayName, getInstanceClass, getJavaName, getMethod, getMethod, getName, getPackageName, initConstructorMap, initMethodMap, isAssignableFrom, isInstance, isPublic, isPublic, setInstanceClass, superClasses
-
Methods inherited from class org.openl.types.impl.AOpenClass
addFieldToLowerCaseMap, addMethod, addType, buildMethodNameMap, constructors, equals, findType, getArrayType, getArrayType, getComponentClass, getConstructor, getDeclaredFields, getDeclaredMethod, getDeclaredMethods, getDomain, getField, getFields, getIndexField, getMetaInfo, getMethods, getStaticField, getStaticField, getStaticFields, getTypes, getVar, hashCode, invalidateInternalData, isAbstract, isArray, isAssignableFrom, isInterface, isSimple, isStatic, methods, nullObject, removeMethod, searchFieldFromSuperClass, setIndexField, setMetaInfo, toStaticClass, toString
-
-
-
-
Field Detail
-
EXPR_FIELD_NAME
public static String EXPR_FIELD_NAME
-
-
Constructor Detail
-
DecisionTableDataType
public DecisionTableDataType(DecisionTable decisionTable, String name, OpenL openl, boolean traceUsedFields)
-
-
Method Detail
-
getField
public IOpenField getField(String fname, boolean strictMatch) throws AmbiguousFieldException
- Specified by:
getFieldin interfaceIOpenClass- Overrides:
getFieldin classAOpenClass- Throws:
AmbiguousFieldException
-
addDecisionTableField
public void addDecisionTableField(IOpenField f)
-
resetLowerCasedUsedFields
public void resetLowerCasedUsedFields()
-
getUsedFields
public Set<IOpenField> getUsedFields()
-
-