public final class DedupBijectionStrategy extends AbstractTraversalStrategy<TraversalStrategy.OptimizationStrategy> implements TraversalStrategy.OptimizationStrategy
DedupBijectionStrategy
does deduplication prior to a non-mutating bijective step if there is no
by()
-modulation on dedup()
. Given that DedupGlobalStep
reduces the number of
objects in the stream, it is cheaper to dedup prior.
__.order().dedup() // is replaced by __.dedup().order()
TraversalStrategy.DecorationStrategy, TraversalStrategy.FinalizationStrategy, TraversalStrategy.OptimizationStrategy, TraversalStrategy.VendorOptimizationStrategy, TraversalStrategy.VerificationStrategy
Modifier and Type | Method and Description |
---|---|
void |
apply(Traversal.Admin<?,?> traversal) |
Set<Class<? extends TraversalStrategy.OptimizationStrategy>> |
applyPrior()
The set of strategies that must be executed before this strategy is executed.
|
static DedupBijectionStrategy |
instance() |
equals, hashCode, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compareTo, getTraversalCategory
applyPost
public void apply(Traversal.Admin<?,?> traversal)
apply
in interface TraversalStrategy<TraversalStrategy.OptimizationStrategy>
public Set<Class<? extends TraversalStrategy.OptimizationStrategy>> applyPrior()
TraversalStrategy
applyPrior
in interface TraversalStrategy<TraversalStrategy.OptimizationStrategy>
public static DedupBijectionStrategy instance()
Copyright © 2013–2015 Apache Software Foundation. All rights reserved.