Class ConstraintGraph
- java.lang.Object
-
- org.optaplanner.core.impl.score.stream.drools.common.ConstraintGraph
-
public final class ConstraintGraph extends Object
-
-
Constructor Summary
Constructors Constructor Description ConstraintGraph()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <A,B>
BiConstraintGraphNodefilter(BiConstraintGraphNode parent, BiPredicate<A,B> predicate)
<A,B,C,D>
QuadConstraintGraphNodefilter(QuadConstraintGraphNode parent, QuadPredicate<A,B,C,D> predicate)
<A,B,C>
TriConstraintGraphNodefilter(TriConstraintGraphNode parent, TriPredicate<A,B,C> predicate)
<A> UniConstraintGraphChildNode
filter(UniConstraintGraphNode parent, Predicate<A> predicate)
<A> UniConstraintGraphNode
from(Class<A> clz)
Map<org.drools.model.Rule,Class[]>
generateRule(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, DroolsConstraint... constraints)
Set<ConstraintConsequence>
getConsequences()
long
getNextId()
<A,B,GroupKey_>
UniConstraintGraphChildNodegroupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKey_> mapping)
<A,B,GroupKey_,ResultContainer_,Result_>
BiConstraintGraphNodegroupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKey_> mapping, BiConstraintCollector<A,B,ResultContainer_,Result_> collector)
<A,B,GroupKeyA_,GroupKeyB_>
BiConstraintGraphNodegroupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKeyA_> aMapping, BiFunction<A,B,GroupKeyB_> bMapping)
<A,B,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_>
TriConstraintGraphNodegroupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKeyA_> aMapping, BiFunction<A,B,GroupKeyB_> bMapping, BiConstraintCollector<A,B,ResultContainer_,Result_> collector)
<A,B,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintGraphNodegroupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKeyA_> aMapping, BiFunction<A,B,GroupKeyB_> bMapping, BiConstraintCollector<A,B,ResultContainerC_,ResultC_> cCollector, BiConstraintCollector<A,B,ResultContainerD_,ResultD_> dCollector)
<A,B,ResultContainer_,Result_>
UniConstraintGraphChildNodegroupBy(BiConstraintGraphNode parent, BiConstraintCollector<A,B,ResultContainer_,Result_> collector)
<A,B,C,D,GroupKey_>
UniConstraintGraphChildNodegroupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKey_> mapping)
<A,B,C,D,GroupKey_,ResultContainer_,Result_>
BiConstraintGraphNodegroupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKey_> mapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
<A,B,C,D,GroupKeyA_,GroupKeyB_>
BiConstraintGraphNodegroupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKeyA_> aMapping, QuadFunction<A,B,C,D,GroupKeyB_> bMapping)
<A,B,C,D,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_>
TriConstraintGraphNodegroupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKeyA_> aMapping, QuadFunction<A,B,C,D,GroupKeyB_> bMapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
<A,B,C,D,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintGraphNodegroupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKeyA_> aMapping, QuadFunction<A,B,C,D,GroupKeyB_> bMapping, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> cCollector, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> dCollector)
<A,B,C,D,ResultContainer_,Result_>
UniConstraintGraphChildNodegroupBy(QuadConstraintGraphNode parent, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
<A,B,C,GroupKey_>
UniConstraintGraphChildNodegroupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKey_> mapping)
<A,B,C,GroupKey_,ResultContainer_,Result_>
BiConstraintGraphNodegroupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKey_> mapping, TriConstraintCollector<A,B,C,ResultContainer_,Result_> collector)
<A,B,C,GroupKeyA_,GroupKeyB_>
BiConstraintGraphNodegroupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKeyA_> aMapping, TriFunction<A,B,C,GroupKeyB_> bMapping)
<A,B,C,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_>
TriConstraintGraphNodegroupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKeyA_> aMapping, TriFunction<A,B,C,GroupKeyB_> bMapping, TriConstraintCollector<A,B,C,ResultContainer_,Result_> collector)
<A,B,C,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintGraphNodegroupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKeyA_> aMapping, TriFunction<A,B,C,GroupKeyB_> bMapping, TriConstraintCollector<A,B,C,ResultContainerC_,ResultC_> cCollector, TriConstraintCollector<A,B,C,ResultContainerD_,ResultD_> dCollector)
<A,B,C,ResultContainer_,Result_>
UniConstraintGraphChildNodegroupBy(TriConstraintGraphNode parent, TriConstraintCollector<A,B,C,ResultContainer_,Result_> collector)
<A,GroupKey_>
UniConstraintGraphChildNodegroupBy(UniConstraintGraphNode parent, Function<A,GroupKey_> mapping)
<A,GroupKey_,ResultContainer_,Result_>
BiConstraintGraphNodegroupBy(UniConstraintGraphNode parent, Function<A,GroupKey_> mapping, UniConstraintCollector<A,ResultContainer_,Result_> collector)
<A,GroupKeyA_,GroupKeyB_>
BiConstraintGraphNodegroupBy(UniConstraintGraphNode parent, Function<A,GroupKeyA_> aMapping, Function<A,GroupKeyB_> bMapping)
<A,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_>
TriConstraintGraphNodegroupBy(UniConstraintGraphNode parent, Function<A,GroupKeyA_> aMapping, Function<A,GroupKeyB_> bMapping, UniConstraintCollector<A,ResultContainer_,Result_> collector)
<A,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintGraphNodegroupBy(UniConstraintGraphNode parent, Function<A,GroupKeyA_> aMapping, Function<A,GroupKeyB_> bMapping, UniConstraintCollector<A,ResultContainerC_,ResultC_> cCollector, UniConstraintCollector<A,ResultContainerD_,ResultD_> dCollector)
<A,ResultContainer_,Result_>
UniConstraintGraphChildNodegroupBy(UniConstraintGraphNode parent, UniConstraintCollector<A,ResultContainer_,Result_> collector)
<A,B,C>
BiConstraintGraphNodeifExists(BiConstraintGraphNode parent, Class<C> existsType, TriJoiner<A,B,C>... joiners)
<A,B,C,D,E>
QuadConstraintGraphNodeifExists(QuadConstraintGraphNode parent, Class<E> existsType, PentaJoiner<A,B,C,D,E>... joiners)
<A,B,C,D>
TriConstraintGraphNodeifExists(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,B,C,D>... joiners)
<A,B>
UniConstraintGraphChildNodeifExists(UniConstraintGraphNode parent, Class<B> existsType, BiJoiner<A,B>... joiners)
<A,B,C>
BiConstraintGraphNodeifNotExists(BiConstraintGraphNode parent, Class<C> existsType, TriJoiner<A,B,C>... joiners)
<A,B,C,D,E>
QuadConstraintGraphNodeifNotExists(QuadConstraintGraphNode parent, Class<E> existsType, PentaJoiner<A,B,C,D,E>... joiners)
<A,B,C,D>
TriConstraintGraphNodeifNotExists(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,B,C,D>... joiners)
<A,B>
UniConstraintGraphChildNodeifNotExists(UniConstraintGraphNode parent, Class<B> existsType, BiJoiner<A,B>... joiners)
BiConstraintConsequence
impact(BiConstraintGraphNode parent)
<A,B>
BiConstraintConsequenceimpact(BiConstraintGraphNode parent, BiFunction<A,B,BigDecimal> matchWeighter)
<A,B>
BiConstraintConsequenceimpact(BiConstraintGraphNode parent, ToIntBiFunction<A,B> matchWeighter)
<A,B>
BiConstraintConsequenceimpact(BiConstraintGraphNode parent, ToLongBiFunction<A,B> matchWeighter)
QuadConstraintConsequence
impact(QuadConstraintGraphNode parent)
<A,B,C,D>
QuadConstraintConsequenceimpact(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,BigDecimal> matchWeighter)
<A,B,C,D>
QuadConstraintConsequenceimpact(QuadConstraintGraphNode parent, ToIntQuadFunction<A,B,C,D> matchWeighter)
<A,B,C,D>
QuadConstraintConsequenceimpact(QuadConstraintGraphNode parent, ToLongQuadFunction<A,B,C,D> matchWeighter)
TriConstraintConsequence
impact(TriConstraintGraphNode parent)
<A,B,C>
TriConstraintConsequenceimpact(TriConstraintGraphNode parent, ToIntTriFunction<A,B,C> matchWeighter)
<A,B,C>
TriConstraintConsequenceimpact(TriConstraintGraphNode parent, ToLongTriFunction<A,B,C> matchWeighter)
<A,B,C>
TriConstraintConsequenceimpact(TriConstraintGraphNode parent, TriFunction<A,B,C,BigDecimal> matchWeighter)
UniConstraintConsequence
impact(UniConstraintGraphNode parent)
<A> UniConstraintConsequence
impact(UniConstraintGraphNode parent, Function<A,BigDecimal> matchWeighter)
<A> UniConstraintConsequence
impact(UniConstraintGraphNode parent, ToIntFunction<A> matchWeighter)
<A> UniConstraintConsequence
impact(UniConstraintGraphNode parent, ToLongFunction<A> matchWeighter)
<A,B,C>
TriConstraintGraphNodejoin(BiConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, TriJoiner<A,B,C> joiner)
<A,B,C,D>
QuadConstraintGraphNodejoin(TriConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, QuadJoiner<A,B,C,D> joiner)
<A,B>
BiConstraintGraphNodejoin(UniConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, BiJoiner<A,B> joiner)
-
-
-
Method Detail
-
from
public <A> UniConstraintGraphNode from(Class<A> clz)
-
filter
public <A> UniConstraintGraphChildNode filter(UniConstraintGraphNode parent, Predicate<A> predicate)
-
filter
public <A,B> BiConstraintGraphNode filter(BiConstraintGraphNode parent, BiPredicate<A,B> predicate)
-
filter
public <A,B,C> TriConstraintGraphNode filter(TriConstraintGraphNode parent, TriPredicate<A,B,C> predicate)
-
filter
public <A,B,C,D> QuadConstraintGraphNode filter(QuadConstraintGraphNode parent, QuadPredicate<A,B,C,D> predicate)
-
join
public <A,B> BiConstraintGraphNode join(UniConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, BiJoiner<A,B> joiner)
-
join
public <A,B,C> TriConstraintGraphNode join(BiConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, TriJoiner<A,B,C> joiner)
-
join
public <A,B,C,D> QuadConstraintGraphNode join(TriConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, QuadJoiner<A,B,C,D> joiner)
-
ifExists
public <A,B> UniConstraintGraphChildNode ifExists(UniConstraintGraphNode parent, Class<B> existsType, BiJoiner<A,B>... joiners)
-
ifExists
public <A,B,C> BiConstraintGraphNode ifExists(BiConstraintGraphNode parent, Class<C> existsType, TriJoiner<A,B,C>... joiners)
-
ifExists
public <A,B,C,D> TriConstraintGraphNode ifExists(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,B,C,D>... joiners)
-
ifExists
public <A,B,C,D,E> QuadConstraintGraphNode ifExists(QuadConstraintGraphNode parent, Class<E> existsType, PentaJoiner<A,B,C,D,E>... joiners)
-
ifNotExists
public <A,B> UniConstraintGraphChildNode ifNotExists(UniConstraintGraphNode parent, Class<B> existsType, BiJoiner<A,B>... joiners)
-
ifNotExists
public <A,B,C> BiConstraintGraphNode ifNotExists(BiConstraintGraphNode parent, Class<C> existsType, TriJoiner<A,B,C>... joiners)
-
ifNotExists
public <A,B,C,D> TriConstraintGraphNode ifNotExists(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,B,C,D>... joiners)
-
ifNotExists
public <A,B,C,D,E> QuadConstraintGraphNode ifNotExists(QuadConstraintGraphNode parent, Class<E> existsType, PentaJoiner<A,B,C,D,E>... joiners)
-
groupBy
public <A,GroupKey_> UniConstraintGraphChildNode groupBy(UniConstraintGraphNode parent, Function<A,GroupKey_> mapping)
-
groupBy
public <A,GroupKeyA_,GroupKeyB_> BiConstraintGraphNode groupBy(UniConstraintGraphNode parent, Function<A,GroupKeyA_> aMapping, Function<A,GroupKeyB_> bMapping)
-
groupBy
public <A,ResultContainer_,Result_> UniConstraintGraphChildNode groupBy(UniConstraintGraphNode parent, UniConstraintCollector<A,ResultContainer_,Result_> collector)
-
groupBy
public <A,GroupKey_,ResultContainer_,Result_> BiConstraintGraphNode groupBy(UniConstraintGraphNode parent, Function<A,GroupKey_> mapping, UniConstraintCollector<A,ResultContainer_,Result_> collector)
-
groupBy
public <A,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> TriConstraintGraphNode groupBy(UniConstraintGraphNode parent, Function<A,GroupKeyA_> aMapping, Function<A,GroupKeyB_> bMapping, UniConstraintCollector<A,ResultContainer_,Result_> collector)
-
groupBy
public <A,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintGraphNode groupBy(UniConstraintGraphNode parent, Function<A,GroupKeyA_> aMapping, Function<A,GroupKeyB_> bMapping, UniConstraintCollector<A,ResultContainerC_,ResultC_> cCollector, UniConstraintCollector<A,ResultContainerD_,ResultD_> dCollector)
-
groupBy
public <A,B,ResultContainer_,Result_> UniConstraintGraphChildNode groupBy(BiConstraintGraphNode parent, BiConstraintCollector<A,B,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,GroupKey_> UniConstraintGraphChildNode groupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKey_> mapping)
-
groupBy
public <A,B,GroupKey_,ResultContainer_,Result_> BiConstraintGraphNode groupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKey_> mapping, BiConstraintCollector<A,B,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,GroupKeyA_,GroupKeyB_> BiConstraintGraphNode groupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKeyA_> aMapping, BiFunction<A,B,GroupKeyB_> bMapping)
-
groupBy
public <A,B,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> TriConstraintGraphNode groupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKeyA_> aMapping, BiFunction<A,B,GroupKeyB_> bMapping, BiConstraintCollector<A,B,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintGraphNode groupBy(BiConstraintGraphNode parent, BiFunction<A,B,GroupKeyA_> aMapping, BiFunction<A,B,GroupKeyB_> bMapping, BiConstraintCollector<A,B,ResultContainerC_,ResultC_> cCollector, BiConstraintCollector<A,B,ResultContainerD_,ResultD_> dCollector)
-
groupBy
public <A,B,C,ResultContainer_,Result_> UniConstraintGraphChildNode groupBy(TriConstraintGraphNode parent, TriConstraintCollector<A,B,C,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,C,GroupKey_> UniConstraintGraphChildNode groupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKey_> mapping)
-
groupBy
public <A,B,C,GroupKey_,ResultContainer_,Result_> BiConstraintGraphNode groupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKey_> mapping, TriConstraintCollector<A,B,C,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,C,GroupKeyA_,GroupKeyB_> BiConstraintGraphNode groupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKeyA_> aMapping, TriFunction<A,B,C,GroupKeyB_> bMapping)
-
groupBy
public <A,B,C,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> TriConstraintGraphNode groupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKeyA_> aMapping, TriFunction<A,B,C,GroupKeyB_> bMapping, TriConstraintCollector<A,B,C,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,C,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintGraphNode groupBy(TriConstraintGraphNode parent, TriFunction<A,B,C,GroupKeyA_> aMapping, TriFunction<A,B,C,GroupKeyB_> bMapping, TriConstraintCollector<A,B,C,ResultContainerC_,ResultC_> cCollector, TriConstraintCollector<A,B,C,ResultContainerD_,ResultD_> dCollector)
-
groupBy
public <A,B,C,D,ResultContainer_,Result_> UniConstraintGraphChildNode groupBy(QuadConstraintGraphNode parent, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,C,D,GroupKey_> UniConstraintGraphChildNode groupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKey_> mapping)
-
groupBy
public <A,B,C,D,GroupKey_,ResultContainer_,Result_> BiConstraintGraphNode groupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKey_> mapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,C,D,GroupKeyA_,GroupKeyB_> BiConstraintGraphNode groupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKeyA_> aMapping, QuadFunction<A,B,C,D,GroupKeyB_> bMapping)
-
groupBy
public <A,B,C,D,GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> TriConstraintGraphNode groupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKeyA_> aMapping, QuadFunction<A,B,C,D,GroupKeyB_> bMapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
-
groupBy
public <A,B,C,D,GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintGraphNode groupBy(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,GroupKeyA_> aMapping, QuadFunction<A,B,C,D,GroupKeyB_> bMapping, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> cCollector, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> dCollector)
-
impact
public UniConstraintConsequence impact(UniConstraintGraphNode parent)
-
impact
public <A> UniConstraintConsequence impact(UniConstraintGraphNode parent, ToIntFunction<A> matchWeighter)
-
impact
public <A> UniConstraintConsequence impact(UniConstraintGraphNode parent, ToLongFunction<A> matchWeighter)
-
impact
public <A> UniConstraintConsequence impact(UniConstraintGraphNode parent, Function<A,BigDecimal> matchWeighter)
-
impact
public BiConstraintConsequence impact(BiConstraintGraphNode parent)
-
impact
public <A,B> BiConstraintConsequence impact(BiConstraintGraphNode parent, ToIntBiFunction<A,B> matchWeighter)
-
impact
public <A,B> BiConstraintConsequence impact(BiConstraintGraphNode parent, ToLongBiFunction<A,B> matchWeighter)
-
impact
public <A,B> BiConstraintConsequence impact(BiConstraintGraphNode parent, BiFunction<A,B,BigDecimal> matchWeighter)
-
impact
public TriConstraintConsequence impact(TriConstraintGraphNode parent)
-
impact
public <A,B,C> TriConstraintConsequence impact(TriConstraintGraphNode parent, ToIntTriFunction<A,B,C> matchWeighter)
-
impact
public <A,B,C> TriConstraintConsequence impact(TriConstraintGraphNode parent, ToLongTriFunction<A,B,C> matchWeighter)
-
impact
public <A,B,C> TriConstraintConsequence impact(TriConstraintGraphNode parent, TriFunction<A,B,C,BigDecimal> matchWeighter)
-
impact
public QuadConstraintConsequence impact(QuadConstraintGraphNode parent)
-
impact
public <A,B,C,D> QuadConstraintConsequence impact(QuadConstraintGraphNode parent, ToIntQuadFunction<A,B,C,D> matchWeighter)
-
impact
public <A,B,C,D> QuadConstraintConsequence impact(QuadConstraintGraphNode parent, ToLongQuadFunction<A,B,C,D> matchWeighter)
-
impact
public <A,B,C,D> QuadConstraintConsequence impact(QuadConstraintGraphNode parent, QuadFunction<A,B,C,D,BigDecimal> matchWeighter)
-
getConsequences
public Set<ConstraintConsequence> getConsequences()
-
getNextId
public long getNextId()
-
generateRule
public Map<org.drools.model.Rule,Class[]> generateRule(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, DroolsConstraint... constraints)
-
-