public abstract class DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D> extends DroolsAbstractConstraintStream<Solution_> implements InnerQuadConstraintStream<A,B,C,D>
| Modifier and Type | Field and Description |
|---|---|
protected DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D> |
parent |
constraintFactory| Constructor and Description |
|---|
DroolsAbstractQuadConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory,
DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D> parent) |
| Modifier and Type | Method and Description |
|---|---|
QuadConstraintStream<A,B,C,D> |
filter(QuadPredicate<A,B,C,D> predicate)
Exhaustively test each tuple of facts against the
QuadPredicate
and match if QuadPredicate.test(Object, Object, Object, Object) returns true. |
abstract DroolsQuadCondition<A,B,C,D> |
getCondition() |
List<DroolsFromUniConstraintStream<Solution_,Object>> |
getFromStreamList() |
protected Constraint |
impactScore(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
boolean positive) |
Constraint |
impactScore(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
ToIntQuadFunction<A,B,C,D> matchWeigher,
boolean positive) |
Constraint |
impactScoreBigDecimal(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
QuadFunction<A,B,C,D,BigDecimal> matchWeigher,
boolean positive) |
protected Constraint |
impactScoreConfigurable(String constraintPackage,
String constraintName,
boolean positive) |
Constraint |
impactScoreConfigurable(String constraintPackage,
String constraintName,
ToIntQuadFunction<A,B,C,D> matchWeigher,
boolean positive) |
Constraint |
impactScoreConfigurableBigDecimal(String constraintPackage,
String constraintName,
QuadFunction<A,B,C,D,BigDecimal> matchWeigher,
boolean positive) |
Constraint |
impactScoreConfigurableLong(String constraintPackage,
String constraintName,
ToLongQuadFunction<A,B,C,D> matchWeigher,
boolean positive) |
Constraint |
impactScoreLong(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
ToLongQuadFunction<A,B,C,D> matchWeigher,
boolean positive) |
addChildStream, buildConstraint, buildConstraintConfigurable, createRuleItemBuilders, getChildStreams, getConstraintFactorybuildConstraintWeightExtractor, buildConstraintWeightExtractor, penalize, penalizeConfigurable, reward, rewardConfigurable, validateConstraintIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpenalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLongpenalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLonggetConstraintFactory, penalize, penalize, penalizeConfigurable, penalizeConfigurable, reward, reward, rewardConfigurable, rewardConfigurablepublic DroolsAbstractQuadConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D> parent)
public QuadConstraintStream<A,B,C,D> filter(QuadPredicate<A,B,C,D> predicate)
QuadConstraintStreamQuadPredicate
and match if QuadPredicate.test(Object, Object, Object, Object) returns true.
Important: This is slower and less scalable than
TriConstraintStream.join(UniConstraintStream, QuadJoiner) with a proper QuadJoiner predicate
(such as Joiners.equal(TriFunction, Function),
because the latter applies hashing and/or indexing, so it doesn't create every combination just to filter it out.
protected Constraint impactScore(String constraintPackage, String constraintName, Score<?> constraintWeight, boolean positive)
impactScore in class AbstractConstraintStream<Solution_>public Constraint impactScore(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,B,C,D> matchWeigher, boolean positive)
impactScore in interface InnerQuadConstraintStream<A,B,C,D>public Constraint impactScoreLong(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongQuadFunction<A,B,C,D> matchWeigher, boolean positive)
impactScoreLong in interface InnerQuadConstraintStream<A,B,C,D>public Constraint impactScoreBigDecimal(String constraintPackage, String constraintName, Score<?> constraintWeight, QuadFunction<A,B,C,D,BigDecimal> matchWeigher, boolean positive)
impactScoreBigDecimal in interface InnerQuadConstraintStream<A,B,C,D>protected Constraint impactScoreConfigurable(String constraintPackage, String constraintName, boolean positive)
impactScoreConfigurable in class AbstractConstraintStream<Solution_>public Constraint impactScoreConfigurable(String constraintPackage, String constraintName, ToIntQuadFunction<A,B,C,D> matchWeigher, boolean positive)
impactScoreConfigurable in interface InnerQuadConstraintStream<A,B,C,D>public Constraint impactScoreConfigurableLong(String constraintPackage, String constraintName, ToLongQuadFunction<A,B,C,D> matchWeigher, boolean positive)
impactScoreConfigurableLong in interface InnerQuadConstraintStream<A,B,C,D>public Constraint impactScoreConfigurableBigDecimal(String constraintPackage, String constraintName, QuadFunction<A,B,C,D,BigDecimal> matchWeigher, boolean positive)
impactScoreConfigurableBigDecimal in interface InnerQuadConstraintStream<A,B,C,D>public List<DroolsFromUniConstraintStream<Solution_,Object>> getFromStreamList()
getFromStreamList in class DroolsAbstractConstraintStream<Solution_>public abstract DroolsQuadCondition<A,B,C,D> getCondition()
Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.