public class AlphaSharpMendaciousDependencyRedundantNodeExpanderImpl<E> extends AlphaSharpMendaciousDependencyNodeExpanderImpl<E>
Constructor and Description |
---|
AlphaSharpMendaciousDependencyRedundantNodeExpanderImpl(org.processmining.logabstractions.models.MendaciousAbstraction<E> ma,
org.processmining.logabstractions.models.ParallelAbstraction<E> pa,
java.util.Map<E,java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>>> postSets,
java.util.Map<E,java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>>> preSets,
java.util.Collection<AlphaPairOfAlphaPairCollection<E>> nonRedundant) |
Modifier and Type | Method and Description |
---|---|
java.util.Collection<AlphaPairOfAlphaPairCollection<E>> |
getRedundantCandidates() |
void |
processLeaf(AlphaPairOfAlphaPairCollection<E> leaf,
org.processmining.framework.plugin.Progress progress,
java.util.Collection<AlphaPairOfAlphaPairCollection<E>> resultCollection)
This method is called by the searcher to which this expander is
registered each time a leaf was encountered.
|
void |
setRedundantCandidates(java.util.Collection<AlphaPairOfAlphaPairCollection<E>> redundantCandidates) |
allSetsInResultNonEmpty, canExpandLeft, canExpandRight, checkMendaciousAX, checkMendaciousYB, checkNonParallelismAXtoYB, checkNonParallelismYBtoAX, checkParallelismExistsInAX, checkParallelismExistsInYB, expandLeft, expandNode, expandRight
public AlphaSharpMendaciousDependencyRedundantNodeExpanderImpl(org.processmining.logabstractions.models.MendaciousAbstraction<E> ma, org.processmining.logabstractions.models.ParallelAbstraction<E> pa, java.util.Map<E,java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>>> postSets, java.util.Map<E,java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>>> preSets, java.util.Collection<AlphaPairOfAlphaPairCollection<E>> nonRedundant)
public void processLeaf(AlphaPairOfAlphaPairCollection<E> leaf, org.processmining.framework.plugin.Progress progress, java.util.Collection<AlphaPairOfAlphaPairCollection<E>> resultCollection)
org.processmining.framework.util.search.NodeExpander
synchronized(resultCollection) {
resultCollection.add(leaf);
}
However, more advanced implementations are possible.
Finally, note that calls to this method are not thread-safe, i.e. the
implementing class should take care of synchronization on the
resultCollection if necessary (as in the example above).processLeaf
in interface org.processmining.framework.util.search.NodeExpander<AlphaPairOfAlphaPairCollection<E>>
processLeaf
in class AlphaSharpMendaciousDependencyNodeExpanderImpl<E>
leaf
- The node that was found to be a leaf by the expandNode method
(i.e. the expandNode method returned and empty collection)progress
- The progress indicator provided to the searcher in which this
expander is registered. The expander may increment the
progress, but it should check for cancellation, especially
when doing long computations.resultCollection
- The collection to which to add the leaf node. More advanced
computations are allowed here, i.e. the resultCollection can
be changed. Note however that this requires syncrhonization on
the collection, as calls to this method are not thread-safe.public java.util.Collection<AlphaPairOfAlphaPairCollection<E>> getRedundantCandidates()
public void setRedundantCandidates(java.util.Collection<AlphaPairOfAlphaPairCollection<E>> redundantCandidates)
redundantCandidates
- the redundantCandidates to set