public class DroolsConstraint<Solution_> extends Object implements Constraint
| Constructor and Description |
|---|
DroolsConstraint(DroolsConstraintFactory<Solution_> constraintFactory,
String constraintPackage,
String constraintName,
Function<Solution_,Score<?>> constraintWeightExtractor,
boolean positive,
List<DroolsFromUniConstraintStream<Solution_,Object>> fromStreamList,
DroolsAbstractConstraintStream<Solution_> scoringStream) |
| Modifier and Type | Method and Description |
|---|---|
void |
createRules(Map<DroolsAbstractConstraintStream<Solution_>,Rule> ruleLibrary,
<any> scoreHolderGlobal)
Creates Drools rules required to process this constraint.
|
Score<?> |
extractConstraintWeight(Solution_ workingSolution) |
DroolsConstraintFactory<Solution_> |
getConstraintFactory()
The
ConstraintFactory that build this. |
String |
getConstraintName()
The constraint name.
|
String |
getConstraintPackage()
The constraint package is the namespace of the constraint.
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetConstraintIdpublic DroolsConstraint(DroolsConstraintFactory<Solution_> constraintFactory, String constraintPackage, String constraintName, Function<Solution_,Score<?>> constraintWeightExtractor, boolean positive, List<DroolsFromUniConstraintStream<Solution_,Object>> fromStreamList, DroolsAbstractConstraintStream<Solution_> scoringStream)
public void createRules(Map<DroolsAbstractConstraintStream<Solution_>,Rule> ruleLibrary, <any> scoreHolderGlobal)
ruleLibrary - never null. Cache of rules already generated by previous constraints. This method uses
Map.computeIfAbsent(Object, Function) to add rules from DroolsAbstractConstraintStreams which
were not yet processed. This way, we will only generate one rule per stream, allowing Drools to reuse the
computations.scoreHolderGlobal - never null. The Drools global used to track changes to score within rule consequences.public DroolsConstraintFactory<Solution_> getConstraintFactory()
ConstraintConstraintFactory that build this.getConstraintFactory in interface Constraintpublic String getConstraintPackage()
Constraint
When using a ConstraintConfiguration,
it is equal to the ConstraintWeight.constraintPackage().
getConstraintPackage in interface Constraintpublic String getConstraintName()
ConstraintConstraint.getConstraintId() is unique.
When using a ConstraintConfiguration,
it is equal to the ConstraintWeight.value().
getConstraintName in interface ConstraintCopyright © 2006–2019 JBoss by Red Hat. All rights reserved.