org.processmining.mining.dmcscanning
Class MdmcSet

java.lang.Object
  extended by org.processmining.mining.dmcscanning.MdmcSet
Direct Known Subclasses:
BalancedMdmcSet

public class MdmcSet
extends java.lang.Object

MDMC, the Minimal set of DMCs This class is maintaining a set of all conflict-free ADMCs.

Author:
Christian W. Guenther (christian at deckfour dot org)

Field Summary
protected  java.util.HashSet<Admc> admcs
           
 
Constructor Summary
MdmcSet()
          Constructor
 
Method Summary
 boolean addADMC(Admc candidate)
          Tries to add an ADMC to MDMC.
 java.util.Iterator<Admc> allInProcessInstanceIterator(java.lang.String processId, java.lang.String processInstanceId)
           
static MdmcSet buildMDMC(AdmcSet admcSet, Progress progress)
          Convenience method.
 java.util.Collection<Admc> getAll()
           
 java.util.HashSet<Admc> getAllInProcessInstance(java.lang.String processId, java.lang.String processInstanceId)
          Retrieves all ADMCs in MDMC within a specific process instance
 java.util.Iterator<Admc> iterator()
           
 int size()
           
 void testOutput()
          provides the required test output in pseudo-xml format to Message.TEST
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

admcs

protected java.util.HashSet<Admc> admcs
Constructor Detail

MdmcSet

public MdmcSet()
Constructor

Method Detail

addADMC

public boolean addADMC(Admc candidate)
Tries to add an ADMC to MDMC. This only succeeds in case all conflicting ADMCs that are already contained are smaller in size (regarding DMCs contained).

Parameters:
candidate - the ADMC that is tried to be added
Returns:
whether the ADMC was inserted into MDMC

size

public int size()
Returns:
the number of ADMCs contained

iterator

public java.util.Iterator<Admc> iterator()
Returns:
an iterator on the MDMC set

getAll

public java.util.Collection<Admc> getAll()
Returns:
ArrayList of all contained ADMC instances

getAllInProcessInstance

public java.util.HashSet<Admc> getAllInProcessInstance(java.lang.String processId,
                                                       java.lang.String processInstanceId)
Retrieves all ADMCs in MDMC within a specific process instance

Parameters:
processId - id of the process to look up
processInstanceId - id of the process instance to look up
Returns:
ArrayList containing all matching ADMCs

allInProcessInstanceIterator

public java.util.Iterator<Admc> allInProcessInstanceIterator(java.lang.String processId,
                                                             java.lang.String processInstanceId)
Parameters:
processId - id of the process to look up
processInstanceId - id of the process instance to look up
Returns:
Iterator on all ADMCs within a specific process instance

buildMDMC

public static MdmcSet buildMDMC(AdmcSet admcSet,
                                Progress progress)
Convenience method. Tries to add each element of a supplied set of ADMCs (in the given order) to build a consolidated minimal MDMC set.

Parameters:
admcSet - set of ADMCs to build MDMC from
progress - the progress indicator used for status feedback
Returns:
the newly derived set of MDMC

testOutput

public void testOutput()
provides the required test output in pseudo-xml format to Message.TEST