Class DecisionTableCondition
java.lang.Object
com.northconcepts.datapipeline.foundations.core.Bean
com.northconcepts.datapipeline.foundations.core.FoundationObject
com.northconcepts.datapipeline.foundations.decisiontable.DecisionTableObject
com.northconcepts.datapipeline.foundations.decisiontable.DecisionTableCondition
- All Implemented Interfaces:
DataExceptionContributor,JsonSerializable,RecordSerializable,XmlSerializable,Serializable,Cloneable
A condition of a
DecisionTableRule: a logical expression in which ? stands for the condition's
variable.- See Also:
-
Field Summary
Fields inherited from class com.northconcepts.datapipeline.foundations.core.FoundationObject
internalId, internalName, log, TIMESTAMP_FORMATFields inherited from interface com.northconcepts.datapipeline.core.RecordSerializable
SERIALIZED_CLASS_NAME, TYPEFields inherited from interface com.northconcepts.datapipeline.core.XmlSerializable
XML_SERIALIZED_CLASS_NAME -
Constructor Summary
ConstructorsConstructorDescriptionDecisionTableCondition(String expression) Creates a condition without a variable, so its expression should not use the?placeholder.DecisionTableCondition(String variable, String expression) Creates a condition whose expression can use?forvariable, as in? > 0. -
Method Summary
Modifier and TypeMethodDescriptionaddExceptionProperties(DataException exception) Adds this object's current state to aDataException.Throws aDataExceptionif this object is invalid, otherwise returns it; the base implementation checks nothing.clone()protected booleanevaluate(ExpressionContext expressionContext) Returns true if the expression holds in the given context; called by the containingDecisionTableRule.fromRecord(Record source) Loads this instance's state from a record and returnsthis(for fluid API call chaining).fromXmlElement(Element element) LogicalExpressionReturns the variable that?stands for in the expression.setExpression(LogicalExpression expression) setVariable(String variable) Sets the variable that?stands for in the expression; it must be set before the expression is parsed.toRecord()Converts this object's state to a record thatRecordSerializable.fromRecord(Record)can load.toXmlElement(Document document) Returns an element, created withdocument, describing this object; the default implementation throws aDataException.Methods inherited from class com.northconcepts.datapipeline.foundations.core.FoundationObject
assertValid, exception, exception, exception, getInternalId, getInternalName, resetInternalIdMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.northconcepts.datapipeline.core.DataExceptionContributor
addExceptionProperties
-
Constructor Details
-
DecisionTableCondition
public DecisionTableCondition() -
DecisionTableCondition
Creates a condition without a variable, so its expression should not use the?placeholder. -
DecisionTableCondition
Creates a condition whose expression can use?forvariable, as in? > 0.
-
-
Method Details
-
getVariable
Returns the variable that?stands for in the expression. -
setVariable
Sets the variable that?stands for in the expression; it must be set before the expression is parsed. -
getExpression
public LogicalExpression getExpression() -
setExpression
-
getExpressionSource
-
assertValid
Description copied from class:FoundationObjectThrows aDataExceptionif this object is invalid, otherwise returns it; the base implementation checks nothing.- Overrides:
assertValidin classFoundationObject
-
evaluate
protected boolean evaluate(ExpressionContext expressionContext) Returns true if the expression holds in the given context; called by the containingDecisionTableRule. -
addExceptionProperties
Description copied from class:FoundationObjectAdds this object's current state to aDataException. Since this method is called whenever an exception is thrown, subclasses should override it to add their specific information.- Specified by:
addExceptionPropertiesin interfaceDataExceptionContributor- Overrides:
addExceptionPropertiesin classFoundationObject
-
clone
- Overrides:
clonein classFoundationObject
-
toRecord
Description copied from interface:RecordSerializableConverts this object's state to a record thatRecordSerializable.fromRecord(Record)can load.- Specified by:
toRecordin interfaceRecordSerializable- Overrides:
toRecordin classBean
-
fromRecord
Description copied from interface:RecordSerializableLoads this instance's state from a record and returnsthis(for fluid API call chaining). For fluid API call chaining, the overridden method should change the declared return type to its class.- Specified by:
fromRecordin interfaceRecordSerializable- Overrides:
fromRecordin classBean- Parameters:
source-- Returns:
- this instance.
-
toXmlElement
Description copied from interface:XmlSerializableReturns an element, created withdocument, describing this object; the default implementation throws aDataException.- Specified by:
toXmlElementin interfaceXmlSerializable
-
fromXmlElement
- Specified by:
fromXmlElementin interfaceXmlSerializable
-