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_>,org.drools.model.Rule> ruleLibrary,
org.drools.model.Global<? extends AbstractScoreHolder<?>> 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, wait
getConstraintId
public 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_>,org.drools.model.Rule> ruleLibrary, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal)
ruleLibrary
- never null. Cache of rules already generated by previous constraints. This method uses
Map.computeIfAbsent(Object, Function)
to add rules from DroolsAbstractConstraintStream
s 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()
Constraint
ConstraintFactory
that build this.getConstraintFactory
in interface Constraint
public String getConstraintPackage()
Constraint
When using a ConstraintConfiguration
,
it is equal to the ConstraintWeight.constraintPackage()
.
getConstraintPackage
in interface Constraint
public String getConstraintName()
Constraint
Constraint.getConstraintId()
is unique.
When using a ConstraintConfiguration
,
it is equal to the ConstraintWeight.value()
.
getConstraintName
in interface Constraint
Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.