Package org.drools.mvel
Class MVELConstraint
- java.lang.Object
-
- org.drools.base.rule.MutableTypeConstraint
-
- org.drools.mvel.MVELConstraint
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,java.lang.Cloneable,org.drools.base.rule.accessor.AcceptsReadAccessor,org.drools.base.rule.constraint.AlphaNodeFieldConstraint,org.drools.base.rule.constraint.BetaNodeFieldConstraint,org.drools.base.rule.constraint.Constraint,org.drools.base.rule.IndexableConstraint,org.drools.base.rule.RuleComponent
public class MVELConstraint extends org.drools.base.rule.MutableTypeConstraint implements org.drools.base.rule.IndexableConstraint, org.drools.base.rule.accessor.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 ConditionEvaluatorconditionEvaluatorprotected java.lang.Stringexpressionprotected java.util.concurrent.atomic.AtomicIntegerinvocationCounterprotected booleanisDynamicprotected booleanjittedprotected static booleanTEST_JITTING
-
Constructor Summary
Constructors Constructor Description MVELConstraint()MVELConstraint(java.lang.String packageName, java.lang.String expression, org.drools.base.rule.Declaration[] declarations, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, boolean isDynamic)MVELConstraint(java.lang.String packageName, java.lang.String expression, MVELCompilationUnit compilationUnit, org.drools.base.util.index.ConstraintTypeOperator constraintType, org.drools.base.rule.accessor.FieldValue fieldValue, org.drools.base.rule.accessor.ReadAccessor extractor, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators)MVELConstraint(java.util.Collection<java.lang.String> packageNames, java.lang.String expression, org.drools.base.rule.Declaration[] declarations, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, org.drools.base.util.index.ConstraintTypeOperator constraintType, org.drools.base.rule.accessor.TupleValueExtractor indexingDeclaration, org.drools.base.rule.accessor.ReadAccessor extractor, boolean isUnification)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPackageNames(java.util.Collection<java.lang.String> otherPkgs)MVELConstraintclone()MVELConstraintcloneIfInUse()org.drools.base.rule.ContextEntrycreateContextEntry()protected ConditionEvaluatorcreateMvelConditionEvaluator(org.drools.base.base.ValueResolver valueResolver)booleanequals(java.lang.Object object)booleanequals(java.lang.Object object, org.drools.base.RuleBase kbase)protected booleanevaluate(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver, org.drools.base.reteoo.BaseTuple tuple)protected ConditionEvaluatorforceJitEvaluator(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver, org.drools.base.reteoo.BaseTuple tuple)protected java.lang.StringgetAccessedClass()org.drools.base.util.index.ConstraintTypeOperatorgetConstraintType()MVELConstraint.EvaluationContextgetEvaluationContext()java.lang.StringgetExpression()org.drools.base.rule.accessor.FieldValuegetField()org.drools.base.rule.accessor.ReadAccessorgetFieldExtractor()org.drools.base.util.FieldIndexgetFieldIndex()org.drools.base.rule.accessor.TupleValueExtractorgetIndexExtractor()org.drools.core.util.bitmask.BitMaskgetListenedPropertyMask(java.util.Optional<org.drools.base.rule.Pattern> pattern, org.drools.base.base.ObjectType modifiedType, java.util.List<java.lang.String> settableProperties)protected MVELDialectRuntimeDatagetMVELDialectRuntimeData(org.drools.base.base.ValueResolver valueResolver)protected MVELDialectRuntimeDatagetMVELDialectRuntimeData(org.drools.base.RuleBase kbase)org.drools.compiler.rule.builder.EvaluatorWrapper[]getOperators()java.util.Collection<java.lang.String>getPackageNames()protected org.mvel2.ParserConfigurationgetParserConfiguration(org.drools.base.base.ValueResolver valueResolver)org.drools.base.rule.Declaration[]getRequiredDeclarations()inthashCode()booleanisAllowed(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver)booleanisAllowedCachedLeft(org.drools.base.rule.ContextEntry context, org.kie.api.runtime.rule.FactHandle handle)booleanisAllowedCachedRight(org.drools.base.reteoo.BaseTuple tuple, org.drools.base.rule.ContextEntry context)booleanisDynamic()booleanisIndexable(short nodeType, org.kie.api.KieBaseConfiguration config)booleanisTemporal()booleanisUnification()protected voidjitEvaluator(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver, org.drools.base.reteoo.BaseTuple tuple)voidmergeEvaluationContext(org.drools.base.rule.constraint.Constraint other)voidreadExternal(java.io.ObjectInput in)voidregisterEvaluationContext(org.drools.base.RuleBuildContext buildContext)voidreplaceDeclaration(org.drools.base.rule.Declaration oldDecl, org.drools.base.rule.Declaration newDecl)voidsetReadAccessor(org.drools.base.rule.accessor.ReadAccessor readAccessor)java.lang.StringtoString()voidunsetUnification()voidwriteExternal(java.io.ObjectOutput out)
-
-
-
Field Detail
-
TEST_JITTING
protected static final boolean TEST_JITTING
- See Also:
- Constant Field Values
-
invocationCounter
protected final transient java.util.concurrent.atomic.AtomicInteger invocationCounter
-
jitted
protected transient volatile boolean jitted
-
expression
protected java.lang.String expression
-
isDynamic
protected boolean isDynamic
-
compilationUnit
protected MVELCompilationUnit compilationUnit
-
conditionEvaluator
protected transient volatile ConditionEvaluator conditionEvaluator
-
-
Constructor Detail
-
MVELConstraint
public MVELConstraint()
-
MVELConstraint
public MVELConstraint(java.lang.String packageName, java.lang.String expression, MVELCompilationUnit compilationUnit, org.drools.base.util.index.ConstraintTypeOperator constraintType, org.drools.base.rule.accessor.FieldValue fieldValue, org.drools.base.rule.accessor.ReadAccessor extractor, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators)
-
MVELConstraint
public MVELConstraint(java.lang.String packageName, java.lang.String expression, org.drools.base.rule.Declaration[] declarations, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, boolean isDynamic)
-
MVELConstraint
public MVELConstraint(java.util.Collection<java.lang.String> packageNames, java.lang.String expression, org.drools.base.rule.Declaration[] declarations, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators, MVELCompilationUnit compilationUnit, org.drools.base.util.index.ConstraintTypeOperator constraintType, org.drools.base.rule.accessor.TupleValueExtractor indexingDeclaration, org.drools.base.rule.accessor.ReadAccessor extractor, boolean isUnification)
-
-
Method Detail
-
getAccessedClass
protected java.lang.String getAccessedClass()
-
setReadAccessor
public void setReadAccessor(org.drools.base.rule.accessor.ReadAccessor readAccessor)
- Specified by:
setReadAccessorin interfaceorg.drools.base.rule.accessor.AcceptsReadAccessor
-
getPackageNames
public java.util.Collection<java.lang.String> getPackageNames()
- Specified by:
getPackageNamesin interfaceorg.drools.base.rule.constraint.Constraint
-
addPackageNames
public void addPackageNames(java.util.Collection<java.lang.String> otherPkgs)
- Specified by:
addPackageNamesin interfaceorg.drools.base.rule.constraint.Constraint
-
getExpression
public java.lang.String getExpression()
-
isDynamic
public boolean isDynamic()
-
isUnification
public boolean isUnification()
- Specified by:
isUnificationin interfaceorg.drools.base.rule.IndexableConstraint
-
unsetUnification
public void unsetUnification()
- Specified by:
unsetUnificationin interfaceorg.drools.base.rule.IndexableConstraint
-
isIndexable
public boolean isIndexable(short nodeType, org.kie.api.KieBaseConfiguration config)- Specified by:
isIndexablein interfaceorg.drools.base.rule.IndexableConstraint
-
getConstraintType
public org.drools.base.util.index.ConstraintTypeOperator getConstraintType()
- Specified by:
getConstraintTypein interfaceorg.drools.base.rule.IndexableConstraint
-
getField
public org.drools.base.rule.accessor.FieldValue getField()
- Specified by:
getFieldin interfaceorg.drools.base.rule.IndexableConstraint
-
isAllowed
public boolean isAllowed(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver)- Specified by:
isAllowedin interfaceorg.drools.base.rule.constraint.AlphaNodeFieldConstraint
-
isAllowedCachedLeft
public boolean isAllowedCachedLeft(org.drools.base.rule.ContextEntry context, org.kie.api.runtime.rule.FactHandle handle)- Specified by:
isAllowedCachedLeftin interfaceorg.drools.base.rule.constraint.BetaNodeFieldConstraint
-
isAllowedCachedRight
public boolean isAllowedCachedRight(org.drools.base.reteoo.BaseTuple tuple, org.drools.base.rule.ContextEntry context)- Specified by:
isAllowedCachedRightin interfaceorg.drools.base.rule.constraint.BetaNodeFieldConstraint
-
evaluate
protected boolean evaluate(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver, org.drools.base.reteoo.BaseTuple tuple)
-
createMvelConditionEvaluator
protected ConditionEvaluator createMvelConditionEvaluator(org.drools.base.base.ValueResolver valueResolver)
-
forceJitEvaluator
protected ConditionEvaluator forceJitEvaluator(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver, org.drools.base.reteoo.BaseTuple tuple)
-
jitEvaluator
protected void jitEvaluator(org.kie.api.runtime.rule.FactHandle handle, org.drools.base.base.ValueResolver valueResolver, org.drools.base.reteoo.BaseTuple tuple)
-
createContextEntry
public org.drools.base.rule.ContextEntry createContextEntry()
- Specified by:
createContextEntryin interfaceorg.drools.base.rule.constraint.BetaNodeFieldConstraint
-
getFieldIndex
public org.drools.base.util.FieldIndex getFieldIndex()
- Specified by:
getFieldIndexin interfaceorg.drools.base.rule.IndexableConstraint
-
getFieldExtractor
public org.drools.base.rule.accessor.ReadAccessor getFieldExtractor()
- Specified by:
getFieldExtractorin interfaceorg.drools.base.rule.IndexableConstraint
-
getIndexExtractor
public org.drools.base.rule.accessor.TupleValueExtractor getIndexExtractor()
- Specified by:
getIndexExtractorin interfaceorg.drools.base.rule.IndexableConstraint
-
getRequiredDeclarations
public org.drools.base.rule.Declaration[] getRequiredDeclarations()
- Specified by:
getRequiredDeclarationsin interfaceorg.drools.base.rule.constraint.Constraint
-
getOperators
public org.drools.compiler.rule.builder.EvaluatorWrapper[] getOperators()
-
replaceDeclaration
public void replaceDeclaration(org.drools.base.rule.Declaration oldDecl, org.drools.base.rule.Declaration newDecl)- Specified by:
replaceDeclarationin interfaceorg.drools.base.rule.constraint.Constraint
-
getListenedPropertyMask
public org.drools.core.util.bitmask.BitMask getListenedPropertyMask(java.util.Optional<org.drools.base.rule.Pattern> pattern, org.drools.base.base.ObjectType modifiedType, java.util.List<java.lang.String> settableProperties)- Specified by:
getListenedPropertyMaskin interfaceorg.drools.base.rule.constraint.Constraint
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Overrides:
writeExternalin classorg.drools.base.rule.MutableTypeConstraint- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Overrides:
readExternalin classorg.drools.base.rule.MutableTypeConstraint- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
isTemporal
public boolean isTemporal()
- Specified by:
isTemporalin interfaceorg.drools.base.rule.constraint.Constraint
-
cloneIfInUse
public MVELConstraint cloneIfInUse()
- Specified by:
cloneIfInUsein interfaceorg.drools.base.rule.constraint.AlphaNodeFieldConstraint- Specified by:
cloneIfInUsein interfaceorg.drools.base.rule.constraint.BetaNodeFieldConstraint- Overrides:
cloneIfInUsein classorg.drools.base.rule.MutableTypeConstraint
-
clone
public MVELConstraint clone()
- Specified by:
clonein interfaceorg.drools.base.rule.constraint.Constraint- Specified by:
clonein classorg.drools.base.rule.MutableTypeConstraint
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object object, org.drools.base.RuleBase kbase)- Specified by:
equalsin interfaceorg.drools.base.rule.constraint.Constraint
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getParserConfiguration
protected org.mvel2.ParserConfiguration getParserConfiguration(org.drools.base.base.ValueResolver valueResolver)
-
getMVELDialectRuntimeData
protected MVELDialectRuntimeData getMVELDialectRuntimeData(org.drools.base.base.ValueResolver valueResolver)
-
getMVELDialectRuntimeData
protected MVELDialectRuntimeData getMVELDialectRuntimeData(org.drools.base.RuleBase kbase)
-
registerEvaluationContext
public void registerEvaluationContext(org.drools.base.RuleBuildContext buildContext)
- Specified by:
registerEvaluationContextin interfaceorg.drools.base.rule.constraint.Constraint
-
mergeEvaluationContext
public void mergeEvaluationContext(org.drools.base.rule.constraint.Constraint other)
- Specified by:
mergeEvaluationContextin interfaceorg.drools.base.rule.constraint.Constraint
-
getEvaluationContext
public MVELConstraint.EvaluationContext getEvaluationContext()
-
-