org.drools.rule.constraint
Class MvelConstraint
java.lang.Object
org.drools.rule.MutableTypeConstraint
org.drools.rule.constraint.MvelConstraint
- All Implemented Interfaces:
- Externalizable, Serializable, Cloneable, IndexableConstraint, AlphaNodeFieldConstraint, BetaNodeFieldConstraint, Constraint, RuleComponent
public class MvelConstraint
- extends MutableTypeConstraint
- implements IndexableConstraint
- See Also:
- Serialized Form
|
Method Summary |
Object |
clone()
Clones the constraint |
ContextEntry |
createContextEntry()
|
boolean |
equals(Object object)
|
InternalReadAccessor |
getFieldExtractor()
|
IndexEvaluator |
getIndexEvaluator()
|
Declaration |
getIndexingDeclaration()
|
Declaration[] |
getRequiredDeclarations()
Returns all the declarations required by the given
constraint implementation. |
int |
hashCode()
|
boolean |
isAllowed(InternalFactHandle handle,
InternalWorkingMemory workingMemory,
ContextEntry context)
|
boolean |
isAllowedCachedLeft(ContextEntry context,
InternalFactHandle handle)
|
boolean |
isAllowedCachedRight(LeftTuple tuple,
ContextEntry context)
|
boolean |
isIndexable()
|
boolean |
isJITAllowed(InternalFactHandle handle,
InternalWorkingMemory workingMemory,
ContextEntry context)
|
boolean |
isTemporal()
Returns true in case this constraint is a temporal constraint |
boolean |
isUnification()
|
void |
readExternal(ObjectInput in)
|
void |
replaceDeclaration(Declaration oldDecl,
Declaration newDecl)
When a rule contains multiple logical branches, i.e., makes
use of 'OR' CE, it is required to clone patterns and declarations
for each logical branch. |
void |
unsetUnification()
|
void |
writeExternal(ObjectOutput out)
|
INDEX_EVALUATOR
public static final IndexEvaluator INDEX_EVALUATOR
MvelConstraint
public MvelConstraint()
MvelConstraint
public MvelConstraint(String packageName,
String expression,
String operator)
MvelConstraint
public MvelConstraint(String packageName,
String expression,
String operator,
Declaration[] declarations,
Declaration indexingDeclaration,
InternalReadAccessor extractor)
isUnification
public boolean isUnification()
- Specified by:
isUnification in interface IndexableConstraint
unsetUnification
public void unsetUnification()
isIndexable
public boolean isIndexable()
- Specified by:
isIndexable in interface IndexableConstraint
getIndexEvaluator
public IndexEvaluator getIndexEvaluator()
- Specified by:
getIndexEvaluator in interface IndexableConstraint
isAllowed
public boolean isAllowed(InternalFactHandle handle,
InternalWorkingMemory workingMemory,
ContextEntry context)
- Specified by:
isAllowed in interface AlphaNodeFieldConstraint
isJITAllowed
public boolean isJITAllowed(InternalFactHandle handle,
InternalWorkingMemory workingMemory,
ContextEntry context)
isAllowedCachedLeft
public boolean isAllowedCachedLeft(ContextEntry context,
InternalFactHandle handle)
- Specified by:
isAllowedCachedLeft in interface BetaNodeFieldConstraint
isAllowedCachedRight
public boolean isAllowedCachedRight(LeftTuple tuple,
ContextEntry context)
- Specified by:
isAllowedCachedRight in interface BetaNodeFieldConstraint
createContextEntry
public ContextEntry createContextEntry()
- Specified by:
createContextEntry in interface AlphaNodeFieldConstraint- Specified by:
createContextEntry in interface BetaNodeFieldConstraint
getFieldExtractor
public InternalReadAccessor getFieldExtractor()
- Specified by:
getFieldExtractor in interface IndexableConstraint
getRequiredDeclarations
public Declaration[] getRequiredDeclarations()
- Description copied from interface:
Constraint
- Returns all the declarations required by the given
constraint implementation.
- Specified by:
getRequiredDeclarations in interface Constraint
- Returns:
getIndexingDeclaration
public Declaration getIndexingDeclaration()
- Specified by:
getIndexingDeclaration in interface IndexableConstraint
replaceDeclaration
public void replaceDeclaration(Declaration oldDecl,
Declaration newDecl)
- Description copied from interface:
Constraint
- When a rule contains multiple logical branches, i.e., makes
use of 'OR' CE, it is required to clone patterns and declarations
for each logical branch. Since this is done at ReteOO build
type, when constraints were already created, eventually
some constraints need to update their references to the
declarations.
- Specified by:
replaceDeclaration in interface Constraint
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException
- Specified by:
writeExternal in interface Externalizable- Overrides:
writeExternal in class MutableTypeConstraint
- Throws:
IOException
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- Specified by:
readExternal in interface Externalizable- Overrides:
readExternal in class MutableTypeConstraint
- Throws:
IOException
ClassNotFoundException
isTemporal
public boolean isTemporal()
- Description copied from interface:
Constraint
- Returns true in case this constraint is a temporal constraint
- Specified by:
isTemporal in interface Constraint
- Returns:
clone
public Object clone()
- Description copied from interface:
Constraint
- Clones the constraint
- Specified by:
clone in interface Constraint- Specified by:
clone in class MutableTypeConstraint
- Returns:
hashCode
public int hashCode()
- Overrides:
hashCode in class Object
equals
public boolean equals(Object object)
- Overrides:
equals in class Object
Copyright © 2001-2011 JBoss by Red Hat. All Rights Reserved.