Package org.drools.core.rule.constraint
Class QueryNameConstraint
- java.lang.Object
-
- org.drools.core.rule.constraint.QueryNameConstraint
-
- All Implemented Interfaces:
Externalizable
,Serializable
,Cloneable
,IndexableConstraint
,Acceptor
,AcceptsReadAccessor
,AlphaNodeFieldConstraint
,Constraint
,RuleComponent
public class QueryNameConstraint extends Object implements AlphaNodeFieldConstraint, IndexableConstraint, AcceptsReadAccessor, Externalizable
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.drools.core.spi.Constraint
Constraint.ConstraintType
-
-
Constructor Summary
Constructors Constructor Description QueryNameConstraint()
QueryNameConstraint(InternalReadAccessor readAccessor, String queryName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Constraint
clone()
Clones the constraintQueryNameConstraint
cloneIfInUse()
Clone this constraints only if it is already used by a different node, otherwise returns thisboolean
equals(Object obj)
IndexUtil.ConstraintType
getConstraintType()
FieldValue
getField()
InternalReadAccessor
getFieldExtractor()
AbstractHashTable.FieldIndex
getFieldIndex()
Declaration
getIndexExtractor()
String
getQueryName()
Declaration[]
getRequiredDeclarations()
Returns all the declarations required by the given constraint implementation.Constraint.ConstraintType
getType()
Returns the type of the constraint, either ALPHA, BETA or UNKNOWNint
hashCode()
boolean
isAllowed(InternalFactHandle handle, InternalWorkingMemory workingMemory)
boolean
isIndexable(short nodeType, RuleBaseConfiguration config)
boolean
isTemporal()
Returns true in case this constraint is a temporal constraintboolean
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
setReadAccessor(InternalReadAccessor readAccessor)
String
toString()
void
writeExternal(ObjectOutput out)
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.drools.core.spi.Constraint
addPackageNames, equals, getListenedPropertyMask, getListenedPropertyMask, getPackageNames, mergeEvaluationContext, registerEvaluationContext
-
Methods inherited from interface org.drools.core.rule.IndexableConstraint
unsetUnification
-
-
-
-
Constructor Detail
-
QueryNameConstraint
public QueryNameConstraint()
-
QueryNameConstraint
public QueryNameConstraint(InternalReadAccessor readAccessor, String queryName)
-
-
Method Detail
-
isAllowed
public boolean isAllowed(InternalFactHandle handle, InternalWorkingMemory workingMemory)
- Specified by:
isAllowed
in interfaceAlphaNodeFieldConstraint
-
isUnification
public boolean isUnification()
- Specified by:
isUnification
in interfaceIndexableConstraint
-
isIndexable
public boolean isIndexable(short nodeType, RuleBaseConfiguration config)
- Specified by:
isIndexable
in interfaceIndexableConstraint
-
getConstraintType
public IndexUtil.ConstraintType getConstraintType()
- Specified by:
getConstraintType
in interfaceIndexableConstraint
-
getField
public FieldValue getField()
- Specified by:
getField
in interfaceIndexableConstraint
-
getFieldIndex
public AbstractHashTable.FieldIndex getFieldIndex()
- Specified by:
getFieldIndex
in interfaceIndexableConstraint
-
getFieldExtractor
public InternalReadAccessor getFieldExtractor()
- Specified by:
getFieldExtractor
in interfaceIndexableConstraint
-
setReadAccessor
public void setReadAccessor(InternalReadAccessor readAccessor)
- Specified by:
setReadAccessor
in interfaceAcceptsReadAccessor
-
getIndexExtractor
public Declaration getIndexExtractor()
- Specified by:
getIndexExtractor
in interfaceIndexableConstraint
-
getRequiredDeclarations
public Declaration[] getRequiredDeclarations()
Description copied from interface:Constraint
Returns all the declarations required by the given constraint implementation.- Specified by:
getRequiredDeclarations
in interfaceConstraint
- Returns:
-
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 interfaceConstraint
-
clone
public Constraint clone()
Description copied from interface:Constraint
Clones the constraint- Specified by:
clone
in interfaceConstraint
- Overrides:
clone
in classObject
- Returns:
-
getQueryName
public String getQueryName()
-
getType
public Constraint.ConstraintType getType()
Description copied from interface:Constraint
Returns the type of the constraint, either ALPHA, BETA or UNKNOWN- Specified by:
getType
in interfaceConstraint
- Returns:
-
isTemporal
public boolean isTemporal()
Description copied from interface:Constraint
Returns true in case this constraint is a temporal constraint- Specified by:
isTemporal
in interfaceConstraint
- Returns:
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
cloneIfInUse
public QueryNameConstraint cloneIfInUse()
Description copied from interface:AlphaNodeFieldConstraint
Clone this constraints only if it is already used by a different node, otherwise returns this- Specified by:
cloneIfInUse
in interfaceAlphaNodeFieldConstraint
-
-