Package org.drools.mvel
Class MVELConstraint
- java.lang.Object
-
- org.drools.core.rule.MutableTypeConstraint
-
- org.drools.mvel.MVELConstraint
-
- All Implemented Interfaces:
Externalizable,Serializable,Cloneable,org.drools.core.rule.IndexableConstraint,org.drools.core.spi.Acceptor,org.drools.core.spi.AcceptsReadAccessor,org.drools.core.spi.AlphaNodeFieldConstraint,org.drools.core.spi.BetaNodeFieldConstraint,org.drools.core.spi.Constraint,org.drools.core.spi.RuleComponent
public class MVELConstraint extends org.drools.core.rule.MutableTypeConstraint implements org.drools.core.rule.IndexableConstraint, org.drools.core.spi.AcceptsReadAccessor- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMVELConstraint.EvaluationContextstatic classMVELConstraint.MvelContextEntrystatic classMVELConstraint.UnificationContextEntry
-
Field Summary
Fields Modifier and Type Field Description protected MVELCompilationUnitcompilationUnitprotected org.drools.core.rule.constraint.ConditionEvaluatorconditionEvaluatorprotected Stringexpressionprotected AtomicIntegerinvocationCounterprotected booleanisDynamicprotected booleanjittedprotected static booleanTEST_JITTING
-
Constructor Summary
Constructors Constructor Description MVELConstraint()MVELConstraint(String packageName, String expression, org.drools.core.rule.Declaration[] declarations, org.drools.core.base.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, boolean isDynamic)MVELConstraint(String packageName, String expression, MVELCompilationUnit compilationUnit, org.drools.core.util.index.IndexUtil.ConstraintType constraintType, org.drools.core.spi.FieldValue fieldValue, org.drools.core.spi.InternalReadAccessor extractor, org.drools.core.base.EvaluatorWrapper[] operators)MVELConstraint(Collection<String> packageNames, String expression, org.drools.core.rule.Declaration[] declarations, org.drools.core.base.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, org.drools.core.util.index.IndexUtil.ConstraintType constraintType, org.drools.core.spi.TupleValueExtractor indexingDeclaration, org.drools.core.spi.InternalReadAccessor extractor, boolean isUnification)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPackageNames(Collection<String> otherPkgs)MVELConstraintclone()MVELConstraintcloneIfInUse()org.drools.core.rule.ContextEntrycreateContextEntry()protected org.drools.core.rule.constraint.ConditionEvaluatorcreateMvelConditionEvaluator(org.drools.core.common.InternalWorkingMemory workingMemory)booleanequals(Object object)booleanequals(Object object, org.drools.core.impl.InternalKnowledgeBase kbase)protected booleanevaluate(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory, org.drools.core.spi.Tuple tuple)protected org.drools.core.rule.constraint.ConditionEvaluatorforceJitEvaluator(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory, org.drools.core.spi.Tuple tuple)protected StringgetAccessedClass()org.drools.core.util.index.IndexUtil.ConstraintTypegetConstraintType()MVELConstraint.EvaluationContextgetEvaluationContext()StringgetExpression()org.drools.core.spi.FieldValuegetField()org.drools.core.spi.InternalReadAccessorgetFieldExtractor()org.drools.core.util.AbstractHashTable.FieldIndexgetFieldIndex()org.drools.core.spi.TupleValueExtractorgetIndexExtractor()org.drools.core.util.bitmask.BitMaskgetListenedPropertyMask(Class modifiedClass, List<String> settableProperties)protected MVELDialectRuntimeDatagetMVELDialectRuntimeData(org.drools.core.common.InternalWorkingMemory workingMemory)protected MVELDialectRuntimeDatagetMVELDialectRuntimeData(org.drools.core.impl.InternalKnowledgeBase kbase)org.drools.core.base.EvaluatorWrapper[]getOperators()Collection<String>getPackageNames()protected org.mvel2.ParserConfigurationgetParserConfiguration(org.drools.core.common.InternalWorkingMemory workingMemory)org.drools.core.rule.Declaration[]getRequiredDeclarations()inthashCode()booleanisAllowed(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory)booleanisAllowedCachedLeft(org.drools.core.rule.ContextEntry context, org.drools.core.common.InternalFactHandle handle)booleanisAllowedCachedRight(org.drools.core.spi.Tuple tuple, org.drools.core.rule.ContextEntry context)booleanisDynamic()booleanisIndexable(short nodeType, org.drools.core.RuleBaseConfiguration config)booleanisTemporal()booleanisUnification()protected voidjitEvaluator(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory, org.drools.core.spi.Tuple tuple)voidmergeEvaluationContext(org.drools.core.spi.Constraint other)voidreadExternal(ObjectInput in)voidregisterEvaluationContext(org.drools.core.reteoo.builder.BuildContext buildContext)voidreplaceDeclaration(org.drools.core.rule.Declaration oldDecl, org.drools.core.rule.Declaration newDecl)voidsetReadAccessor(org.drools.core.spi.InternalReadAccessor readAccessor)StringtoString()voidunsetUnification()voidwriteExternal(ObjectOutput out)
-
-
-
Field Detail
-
TEST_JITTING
protected static final boolean TEST_JITTING
- See Also:
- Constant Field Values
-
invocationCounter
protected final transient AtomicInteger invocationCounter
-
jitted
protected transient volatile boolean jitted
-
expression
protected String expression
-
isDynamic
protected boolean isDynamic
-
compilationUnit
protected MVELCompilationUnit compilationUnit
-
conditionEvaluator
protected transient volatile org.drools.core.rule.constraint.ConditionEvaluator conditionEvaluator
-
-
Constructor Detail
-
MVELConstraint
public MVELConstraint()
-
MVELConstraint
public MVELConstraint(String packageName, String expression, MVELCompilationUnit compilationUnit, org.drools.core.util.index.IndexUtil.ConstraintType constraintType, org.drools.core.spi.FieldValue fieldValue, org.drools.core.spi.InternalReadAccessor extractor, org.drools.core.base.EvaluatorWrapper[] operators)
-
MVELConstraint
public MVELConstraint(String packageName, String expression, org.drools.core.rule.Declaration[] declarations, org.drools.core.base.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, boolean isDynamic)
-
MVELConstraint
public MVELConstraint(Collection<String> packageNames, String expression, org.drools.core.rule.Declaration[] declarations, org.drools.core.base.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, org.drools.core.util.index.IndexUtil.ConstraintType constraintType, org.drools.core.spi.TupleValueExtractor indexingDeclaration, org.drools.core.spi.InternalReadAccessor extractor, boolean isUnification)
-
-
Method Detail
-
getAccessedClass
protected String getAccessedClass()
-
setReadAccessor
public void setReadAccessor(org.drools.core.spi.InternalReadAccessor readAccessor)
- Specified by:
setReadAccessorin interfaceorg.drools.core.spi.AcceptsReadAccessor
-
getPackageNames
public Collection<String> getPackageNames()
- Specified by:
getPackageNamesin interfaceorg.drools.core.spi.Constraint
-
addPackageNames
public void addPackageNames(Collection<String> otherPkgs)
- Specified by:
addPackageNamesin interfaceorg.drools.core.spi.Constraint
-
getExpression
public String getExpression()
-
isDynamic
public boolean isDynamic()
-
isUnification
public boolean isUnification()
- Specified by:
isUnificationin interfaceorg.drools.core.rule.IndexableConstraint
-
unsetUnification
public void unsetUnification()
- Specified by:
unsetUnificationin interfaceorg.drools.core.rule.IndexableConstraint
-
isIndexable
public boolean isIndexable(short nodeType, org.drools.core.RuleBaseConfiguration config)- Specified by:
isIndexablein interfaceorg.drools.core.rule.IndexableConstraint
-
getConstraintType
public org.drools.core.util.index.IndexUtil.ConstraintType getConstraintType()
- Specified by:
getConstraintTypein interfaceorg.drools.core.rule.IndexableConstraint
-
getField
public org.drools.core.spi.FieldValue getField()
- Specified by:
getFieldin interfaceorg.drools.core.rule.IndexableConstraint
-
isAllowed
public boolean isAllowed(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory)- Specified by:
isAllowedin interfaceorg.drools.core.spi.AlphaNodeFieldConstraint
-
isAllowedCachedLeft
public boolean isAllowedCachedLeft(org.drools.core.rule.ContextEntry context, org.drools.core.common.InternalFactHandle handle)- Specified by:
isAllowedCachedLeftin interfaceorg.drools.core.spi.BetaNodeFieldConstraint
-
isAllowedCachedRight
public boolean isAllowedCachedRight(org.drools.core.spi.Tuple tuple, org.drools.core.rule.ContextEntry context)- Specified by:
isAllowedCachedRightin interfaceorg.drools.core.spi.BetaNodeFieldConstraint
-
evaluate
protected boolean evaluate(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory, org.drools.core.spi.Tuple tuple)
-
createMvelConditionEvaluator
protected org.drools.core.rule.constraint.ConditionEvaluator createMvelConditionEvaluator(org.drools.core.common.InternalWorkingMemory workingMemory)
-
forceJitEvaluator
protected org.drools.core.rule.constraint.ConditionEvaluator forceJitEvaluator(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory, org.drools.core.spi.Tuple tuple)
-
jitEvaluator
protected void jitEvaluator(org.drools.core.common.InternalFactHandle handle, org.drools.core.common.InternalWorkingMemory workingMemory, org.drools.core.spi.Tuple tuple)
-
createContextEntry
public org.drools.core.rule.ContextEntry createContextEntry()
- Specified by:
createContextEntryin interfaceorg.drools.core.spi.BetaNodeFieldConstraint
-
getFieldIndex
public org.drools.core.util.AbstractHashTable.FieldIndex getFieldIndex()
- Specified by:
getFieldIndexin interfaceorg.drools.core.rule.IndexableConstraint
-
getFieldExtractor
public org.drools.core.spi.InternalReadAccessor getFieldExtractor()
- Specified by:
getFieldExtractorin interfaceorg.drools.core.rule.IndexableConstraint
-
getIndexExtractor
public org.drools.core.spi.TupleValueExtractor getIndexExtractor()
- Specified by:
getIndexExtractorin interfaceorg.drools.core.rule.IndexableConstraint
-
getRequiredDeclarations
public org.drools.core.rule.Declaration[] getRequiredDeclarations()
- Specified by:
getRequiredDeclarationsin interfaceorg.drools.core.spi.Constraint
-
getOperators
public org.drools.core.base.EvaluatorWrapper[] getOperators()
-
replaceDeclaration
public void replaceDeclaration(org.drools.core.rule.Declaration oldDecl, org.drools.core.rule.Declaration newDecl)- Specified by:
replaceDeclarationin interfaceorg.drools.core.spi.Constraint
-
getListenedPropertyMask
public org.drools.core.util.bitmask.BitMask getListenedPropertyMask(Class modifiedClass, List<String> settableProperties)
- Specified by:
getListenedPropertyMaskin interfaceorg.drools.core.spi.Constraint
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classorg.drools.core.rule.MutableTypeConstraint- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classorg.drools.core.rule.MutableTypeConstraint- Throws:
IOExceptionClassNotFoundException
-
isTemporal
public boolean isTemporal()
- Specified by:
isTemporalin interfaceorg.drools.core.spi.Constraint
-
cloneIfInUse
public MVELConstraint cloneIfInUse()
- Specified by:
cloneIfInUsein interfaceorg.drools.core.spi.AlphaNodeFieldConstraint- Specified by:
cloneIfInUsein interfaceorg.drools.core.spi.BetaNodeFieldConstraint- Overrides:
cloneIfInUsein classorg.drools.core.rule.MutableTypeConstraint
-
clone
public MVELConstraint clone()
- Specified by:
clonein interfaceorg.drools.core.spi.Constraint- Specified by:
clonein classorg.drools.core.rule.MutableTypeConstraint
-
equals
public boolean equals(Object object, org.drools.core.impl.InternalKnowledgeBase kbase)
- Specified by:
equalsin interfaceorg.drools.core.spi.Constraint
-
getParserConfiguration
protected org.mvel2.ParserConfiguration getParserConfiguration(org.drools.core.common.InternalWorkingMemory workingMemory)
-
getMVELDialectRuntimeData
protected MVELDialectRuntimeData getMVELDialectRuntimeData(org.drools.core.common.InternalWorkingMemory workingMemory)
-
getMVELDialectRuntimeData
protected MVELDialectRuntimeData getMVELDialectRuntimeData(org.drools.core.impl.InternalKnowledgeBase kbase)
-
registerEvaluationContext
public void registerEvaluationContext(org.drools.core.reteoo.builder.BuildContext buildContext)
- Specified by:
registerEvaluationContextin interfaceorg.drools.core.spi.Constraint
-
mergeEvaluationContext
public void mergeEvaluationContext(org.drools.core.spi.Constraint other)
- Specified by:
mergeEvaluationContextin interfaceorg.drools.core.spi.Constraint
-
getEvaluationContext
public MVELConstraint.EvaluationContext getEvaluationContext()
-
-