Package org.drools.core.rule.constraint
Class NegConstraint
- java.lang.Object
-
- org.drools.core.rule.constraint.NegConstraint
-
- All Implemented Interfaces:
Externalizable
,Serializable
,Cloneable
,AlphaNodeFieldConstraint
,Constraint
,RuleComponent
public class NegConstraint extends Object implements AlphaNodeFieldConstraint
- 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 NegConstraint()
NegConstraint(boolean operator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NegConstraint
clone()
Clones the constraintAlphaNodeFieldConstraint
cloneIfInUse()
Clone this constraints only if it is already used by a different node, otherwise returns thisboolean
equals(Object o)
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
isTemporal()
Returns true in case this constraint is a temporal constraintvoid
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.boolean
setInUse()
void
writeExternal(ObjectOutput out)
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.drools.core.spi.Constraint
addPackageNames, equals, getListenedPropertyMask, getListenedPropertyMask, getPackageNames, mergeEvaluationContext, registerEvaluationContext
-
-
-
-
Method Detail
-
isAllowed
public boolean isAllowed(InternalFactHandle handle, InternalWorkingMemory workingMemory)
- Specified by:
isAllowed
in interfaceAlphaNodeFieldConstraint
-
cloneIfInUse
public AlphaNodeFieldConstraint 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
-
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 NegConstraint clone()
Description copied from interface:Constraint
Clones the constraint- Specified by:
clone
in interfaceConstraint
- Overrides:
clone
in classObject
- Returns:
-
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:
-
setInUse
public boolean setInUse()
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
-