Class DfgImpl
- java.lang.Object
-
- org.processmining.plugins.InductiveMiner.dfgOnly.DfgImpl
-
- All Implemented Interfaces:
java.lang.Cloneable,Dfg,NormalisedIntDfg
public class DfgImpl extends java.lang.Object implements Dfg
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddActivity(int index)Add an activity.intaddActivity(org.deckfour.xes.classification.XEventClass activity)Adds an activity to the Dfg.voidaddDirectlyFollowsEdge(int source, int target, long cardinality)voidaddDirectlyFollowsEdge(org.deckfour.xes.classification.XEventClass source, org.deckfour.xes.classification.XEventClass target, long cardinality)voidaddEmptyTraces(long cardinality)Adds empty traces.voidaddEndActivities(Dfg dfg)Add the end activities in the dfg to the end activities.voidaddEndActivities(MultiSet<org.deckfour.xes.classification.XEventClass> endActivities)Add the end activities in the multiset to the end activities.voidaddEndActivities(MultiIntSet activities)voidaddEndActivity(int activityIndex, long cardinality)voidaddEndActivity(org.deckfour.xes.classification.XEventClass activity, long cardinality)voidaddParallelEdge(int a, int b, long cardinality)voidaddParallelEdge(org.deckfour.xes.classification.XEventClass a, org.deckfour.xes.classification.XEventClass b, long cardinality)voidaddStartActivities(Dfg dfg)Add the start activities in the dfg to the start activities.voidaddStartActivities(MultiSet<org.deckfour.xes.classification.XEventClass> startActivities)Add the start activities in the multiset to the start activities.voidaddStartActivity(int activityIndex, long cardinality)voidaddStartActivity(org.deckfour.xes.classification.XEventClass activity, long cardinality)Dfgclone()voidcollapseParallelIntoDirectly()Adds a directly follows graph edge (in each direction) for each parallel edge.booleancontainsConcurrencyEdge(int sourceIndex, int targetIndex)booleancontainsConcurrencyEdge(org.deckfour.xes.classification.XEventClass source, org.deckfour.xes.classification.XEventClass target)booleancontainsDirectlyFollowsEdge(int sourceIndex, int targetIndex)booleancontainsDirectlyFollowsEdge(org.deckfour.xes.classification.XEventClass source, org.deckfour.xes.classification.XEventClass target)static DfgImplcreateTimeOptimised(int initialSize)org.deckfour.xes.classification.XEventClass[]getActivities()int[]getActivitiesIndices()int[]getActivityIndices()MultiIntSetgetActivityMultiSet()org.deckfour.xes.classification.XEventClassgetActivityOfIndex(int activityIndex)longgetConcurrencyEdgeCardinality(long edgeIndex)java.lang.Iterable<java.lang.Long>getConcurrencyEdges()Returns an iterable that iterates over all edges; The edges that are returned are indices.org.deckfour.xes.classification.XEventClassgetConcurrencyEdgeSource(long edgeIndex)intgetConcurrencyEdgeSourceIndex(long edgeIndex)org.deckfour.xes.classification.XEventClassgetConcurrencyEdgeTarget(long edgeIndex)intgetConcurrencyEdgeTargetIndex(long edgeIndex)Graph<org.deckfour.xes.classification.XEventClass>getConcurrencyGraph()longgetDirectlyFollowsEdgeCardinality(long edgeIndex)java.lang.Iterable<java.lang.Long>getDirectlyFollowsEdges()Returns an iterable that iterates over all edges; The edges that are returned are indices.org.deckfour.xes.classification.XEventClassgetDirectlyFollowsEdgeSource(long edgeIndex)intgetDirectlyFollowsEdgeSourceIndex(long edgeIndex)org.deckfour.xes.classification.XEventClassgetDirectlyFollowsEdgeTarget(long edgeIndex)intgetDirectlyFollowsEdgeTargetIndex(long edgeIndex)Graph<org.deckfour.xes.classification.XEventClass>getDirectlyFollowsGraph()java.lang.Iterable<org.deckfour.xes.classification.XEventClass>getEndActivities()Return an iterable over the start activities.longgetEndActivityCardinality(int activityIndex)longgetEndActivityCardinality(org.deckfour.xes.classification.XEventClass activity)int[]getEndActivityIndices()intgetIndexOfActivity(org.deckfour.xes.classification.XEventClass activity)longgetMostOccuringConcurrencyEdgeCardinality()longgetMostOccuringDirectlyFollowsEdgeCardinality()longgetMostOccurringEndActivityCardinality()longgetMostOccurringStartActivityCardinality()intgetNumberOfActivities()longgetNumberOfEmptyTraces()longgetNumberOfEndActivities()intgetNumberOfEndActivitiesAsSet()longgetNumberOfStartActivities()intgetNumberOfStartActivitiesAsSet()java.lang.Iterable<org.deckfour.xes.classification.XEventClass>getStartActivities()Return an iterable over the start activities.longgetStartActivityCardinality(int activityIndex)longgetStartActivityCardinality(org.deckfour.xes.classification.XEventClass activity)int[]getStartActivityIndices()booleanhasEndActivities()booleanhasStartActivities()booleanisEndActivity(int activityIndex)booleanisEndActivity(org.deckfour.xes.classification.XEventClass activity)booleanisStartActivity(int activityIndex)booleanisStartActivity(org.deckfour.xes.classification.XEventClass activity)voidremoveEndActivity(int activityIndex)Removes the end activity.voidremoveEndActivity(org.deckfour.xes.classification.XEventClass activity)Removes the end activity.voidremoveStartActivity(int activityIndex)Removes the start activity.voidremoveStartActivity(org.deckfour.xes.classification.XEventClass activity)Removes the start activity.voidsetNumberOfEmptyTraces(long numberOfEmptyTraces)Set the number of empty (epsilon) traces.java.lang.StringtoString()
-
-
-
Method Detail
-
createTimeOptimised
public static DfgImpl createTimeOptimised(int initialSize)
-
addActivity
public int addActivity(org.deckfour.xes.classification.XEventClass activity)
Description copied from interface:DfgAdds an activity to the Dfg.- Specified by:
addActivityin interfaceDfg- Returns:
- The index of the inserted activity.
-
getDirectlyFollowsGraph
public Graph<org.deckfour.xes.classification.XEventClass> getDirectlyFollowsGraph()
- Specified by:
getDirectlyFollowsGraphin interfaceDfg- Specified by:
getDirectlyFollowsGraphin interfaceNormalisedIntDfg
-
getActivities
public org.deckfour.xes.classification.XEventClass[] getActivities()
- Specified by:
getActivitiesin interfaceDfg- Returns:
- An array of the activities. Do not edit this array.
-
getActivityIndices
public int[] getActivityIndices()
- Specified by:
getActivityIndicesin interfaceDfg
-
getConcurrencyGraph
public Graph<org.deckfour.xes.classification.XEventClass> getConcurrencyGraph()
- Specified by:
getConcurrencyGraphin interfaceDfg- Specified by:
getConcurrencyGraphin interfaceNormalisedIntDfg- Returns:
- The concurrency graph. Do not edit directly.
-
getNumberOfEmptyTraces
public long getNumberOfEmptyTraces()
- Specified by:
getNumberOfEmptyTracesin interfaceNormalisedIntDfg- Returns:
- The number of empty (epsilon) traces.
-
setNumberOfEmptyTraces
public void setNumberOfEmptyTraces(long numberOfEmptyTraces)
Description copied from interface:NormalisedIntDfgSet the number of empty (epsilon) traces.- Specified by:
setNumberOfEmptyTracesin interfaceNormalisedIntDfg
-
addEmptyTraces
public void addEmptyTraces(long cardinality)
Description copied from interface:NormalisedIntDfgAdds empty traces.- Specified by:
addEmptyTracesin interfaceNormalisedIntDfg
-
addDirectlyFollowsEdge
public void addDirectlyFollowsEdge(org.deckfour.xes.classification.XEventClass source, org.deckfour.xes.classification.XEventClass target, long cardinality)- Specified by:
addDirectlyFollowsEdgein interfaceDfg
-
addParallelEdge
public void addParallelEdge(org.deckfour.xes.classification.XEventClass a, org.deckfour.xes.classification.XEventClass b, long cardinality)- Specified by:
addParallelEdgein interfaceDfg
-
addStartActivity
public void addStartActivity(org.deckfour.xes.classification.XEventClass activity, long cardinality)- Specified by:
addStartActivityin interfaceDfg
-
addEndActivity
public void addEndActivity(org.deckfour.xes.classification.XEventClass activity, long cardinality)- Specified by:
addEndActivityin interfaceDfg
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
collapseParallelIntoDirectly
public void collapseParallelIntoDirectly()
Description copied from interface:DfgAdds a directly follows graph edge (in each direction) for each parallel edge.- Specified by:
collapseParallelIntoDirectlyin interfaceDfg- Specified by:
collapseParallelIntoDirectlyin interfaceNormalisedIntDfg
-
clone
public Dfg clone()
- Specified by:
clonein interfaceDfg- Specified by:
clonein interfaceNormalisedIntDfg- Overrides:
clonein classjava.lang.Object- Returns:
- An unconnected copy of the Dfg.
-
getNumberOfActivities
public int getNumberOfActivities()
- Specified by:
getNumberOfActivitiesin interfaceDfg- Specified by:
getNumberOfActivitiesin interfaceNormalisedIntDfg- Returns:
- The number of activities (as if they were a set).
-
getIndexOfActivity
public int getIndexOfActivity(org.deckfour.xes.classification.XEventClass activity)
- Specified by:
getIndexOfActivityin interfaceDfg- Returns:
- The index of the given activity, or -1 if it does not exist.
-
getActivityOfIndex
public org.deckfour.xes.classification.XEventClass getActivityOfIndex(int activityIndex)
- Specified by:
getActivityOfIndexin interfaceDfg- Returns:
- The activity of the given index.
-
hasStartActivities
public boolean hasStartActivities()
- Specified by:
hasStartActivitiesin interfaceNormalisedIntDfg
-
hasEndActivities
public boolean hasEndActivities()
- Specified by:
hasEndActivitiesin interfaceNormalisedIntDfg
-
getNumberOfStartActivitiesAsSet
public int getNumberOfStartActivitiesAsSet()
- Specified by:
getNumberOfStartActivitiesAsSetin interfaceNormalisedIntDfg- Returns:
- The size of the set of start activities.
-
getNumberOfEndActivitiesAsSet
public int getNumberOfEndActivitiesAsSet()
- Specified by:
getNumberOfEndActivitiesAsSetin interfaceNormalisedIntDfg- Returns:
- The size of the set of end activities.
-
isStartActivity
public boolean isStartActivity(int activityIndex)
- Specified by:
isStartActivityin interfaceNormalisedIntDfg- Returns:
- Whether the activity with the given index is a start activity.
-
isStartActivity
public boolean isStartActivity(org.deckfour.xes.classification.XEventClass activity)
- Specified by:
isStartActivityin interfaceDfg- Returns:
- Whether the activity is a start activity. If possible, use the integer-variant.
-
getStartActivityCardinality
public long getStartActivityCardinality(int activityIndex)
- Specified by:
getStartActivityCardinalityin interfaceNormalisedIntDfg- Returns:
- How often the activity was a start activity.
-
getStartActivityCardinality
public long getStartActivityCardinality(org.deckfour.xes.classification.XEventClass activity)
- Specified by:
getStartActivityCardinalityin interfaceDfg- Returns:
- How often the activity was a start activity. Use the integer variant if possible.
-
getEndActivityCardinality
public long getEndActivityCardinality(int activityIndex)
- Specified by:
getEndActivityCardinalityin interfaceNormalisedIntDfg- Returns:
- How often the activity was an end activity.
-
getEndActivityCardinality
public long getEndActivityCardinality(org.deckfour.xes.classification.XEventClass activity)
- Specified by:
getEndActivityCardinalityin interfaceDfg- Returns:
- How often the activity was an end activity. Use the integer variant if possible.
-
isEndActivity
public boolean isEndActivity(int activityIndex)
- Specified by:
isEndActivityin interfaceNormalisedIntDfg- Returns:
- Whether the activity with the given index is a end activity.
-
isEndActivity
public boolean isEndActivity(org.deckfour.xes.classification.XEventClass activity)
- Specified by:
isEndActivityin interfaceDfg- Returns:
- Whether the activity is a end activity. If possible, use the integer-variant.
-
getMostOccurringStartActivityCardinality
public long getMostOccurringStartActivityCardinality()
- Specified by:
getMostOccurringStartActivityCardinalityin interfaceNormalisedIntDfg- Returns:
- The number of occurrences of the activity that occurs the most as a start activity.
-
getMostOccurringEndActivityCardinality
public long getMostOccurringEndActivityCardinality()
- Specified by:
getMostOccurringEndActivityCardinalityin interfaceNormalisedIntDfg- Returns:
- The number of occurrences of the activity that occurs the most as an end activity.
-
getDirectlyFollowsEdges
public java.lang.Iterable<java.lang.Long> getDirectlyFollowsEdges()
Description copied from interface:NormalisedIntDfgReturns an iterable that iterates over all edges; The edges that are returned are indices. Edges of weight 0 are excluded.- Specified by:
getDirectlyFollowsEdgesin interfaceNormalisedIntDfg- Returns:
-
containsDirectlyFollowsEdge
public boolean containsDirectlyFollowsEdge(int sourceIndex, int targetIndex)- Specified by:
containsDirectlyFollowsEdgein interfaceNormalisedIntDfg
-
containsDirectlyFollowsEdge
public boolean containsDirectlyFollowsEdge(org.deckfour.xes.classification.XEventClass source, org.deckfour.xes.classification.XEventClass target)- Specified by:
containsDirectlyFollowsEdgein interfaceDfg
-
getDirectlyFollowsEdgeSourceIndex
public int getDirectlyFollowsEdgeSourceIndex(long edgeIndex)
- Specified by:
getDirectlyFollowsEdgeSourceIndexin interfaceNormalisedIntDfg
-
getDirectlyFollowsEdgeTargetIndex
public int getDirectlyFollowsEdgeTargetIndex(long edgeIndex)
- Specified by:
getDirectlyFollowsEdgeTargetIndexin interfaceNormalisedIntDfg
-
getDirectlyFollowsEdgeSource
public org.deckfour.xes.classification.XEventClass getDirectlyFollowsEdgeSource(long edgeIndex)
- Specified by:
getDirectlyFollowsEdgeSourcein interfaceDfg
-
getDirectlyFollowsEdgeTarget
public org.deckfour.xes.classification.XEventClass getDirectlyFollowsEdgeTarget(long edgeIndex)
- Specified by:
getDirectlyFollowsEdgeTargetin interfaceDfg
-
getDirectlyFollowsEdgeCardinality
public long getDirectlyFollowsEdgeCardinality(long edgeIndex)
- Specified by:
getDirectlyFollowsEdgeCardinalityin interfaceNormalisedIntDfg
-
getMostOccuringDirectlyFollowsEdgeCardinality
public long getMostOccuringDirectlyFollowsEdgeCardinality()
- Specified by:
getMostOccuringDirectlyFollowsEdgeCardinalityin interfaceNormalisedIntDfg
-
getConcurrencyEdges
public java.lang.Iterable<java.lang.Long> getConcurrencyEdges()
Description copied from interface:NormalisedIntDfgReturns an iterable that iterates over all edges; The edges that are returned are indices. Edges of weight 0 are excluded.- Specified by:
getConcurrencyEdgesin interfaceNormalisedIntDfg- Returns:
-
containsConcurrencyEdge
public boolean containsConcurrencyEdge(int sourceIndex, int targetIndex)- Specified by:
containsConcurrencyEdgein interfaceNormalisedIntDfg
-
containsConcurrencyEdge
public boolean containsConcurrencyEdge(org.deckfour.xes.classification.XEventClass source, org.deckfour.xes.classification.XEventClass target)- Specified by:
containsConcurrencyEdgein interfaceDfg
-
getConcurrencyEdgeSourceIndex
public int getConcurrencyEdgeSourceIndex(long edgeIndex)
- Specified by:
getConcurrencyEdgeSourceIndexin interfaceNormalisedIntDfg
-
getConcurrencyEdgeTargetIndex
public int getConcurrencyEdgeTargetIndex(long edgeIndex)
- Specified by:
getConcurrencyEdgeTargetIndexin interfaceNormalisedIntDfg
-
getConcurrencyEdgeSource
public org.deckfour.xes.classification.XEventClass getConcurrencyEdgeSource(long edgeIndex)
- Specified by:
getConcurrencyEdgeSourcein interfaceDfg
-
getConcurrencyEdgeTarget
public org.deckfour.xes.classification.XEventClass getConcurrencyEdgeTarget(long edgeIndex)
- Specified by:
getConcurrencyEdgeTargetin interfaceDfg
-
getConcurrencyEdgeCardinality
public long getConcurrencyEdgeCardinality(long edgeIndex)
- Specified by:
getConcurrencyEdgeCardinalityin interfaceNormalisedIntDfg
-
getMostOccuringConcurrencyEdgeCardinality
public long getMostOccuringConcurrencyEdgeCardinality()
- Specified by:
getMostOccuringConcurrencyEdgeCardinalityin interfaceNormalisedIntDfg
-
addStartActivities
public void addStartActivities(MultiSet<org.deckfour.xes.classification.XEventClass> startActivities)
Description copied from interface:DfgAdd the start activities in the multiset to the start activities.- Specified by:
addStartActivitiesin interfaceDfg
-
addStartActivities
public void addStartActivities(Dfg dfg)
Description copied from interface:DfgAdd the start activities in the dfg to the start activities.- Specified by:
addStartActivitiesin interfaceDfg
-
removeStartActivity
public void removeStartActivity(int activityIndex)
Description copied from interface:NormalisedIntDfgRemoves the start activity.- Specified by:
removeStartActivityin interfaceNormalisedIntDfg
-
removeStartActivity
public void removeStartActivity(org.deckfour.xes.classification.XEventClass activity)
Description copied from interface:DfgRemoves the start activity. Use the integer variant if possible.- Specified by:
removeStartActivityin interfaceDfg
-
getStartActivities
public java.lang.Iterable<org.deckfour.xes.classification.XEventClass> getStartActivities()
Description copied from interface:DfgReturn an iterable over the start activities. Use the integer variant if possible.- Specified by:
getStartActivitiesin interfaceDfg- Returns:
-
getStartActivityIndices
public int[] getStartActivityIndices()
- Specified by:
getStartActivityIndicesin interfaceNormalisedIntDfg- Returns:
- The indices of the start activities. This array should not be edited.
-
getNumberOfStartActivities
public long getNumberOfStartActivities()
- Specified by:
getNumberOfStartActivitiesin interfaceNormalisedIntDfg- Returns:
- The number of times that an end activity occurred. Use getNumberOfStartActivities() for the set-size.
-
addEndActivities
public void addEndActivities(MultiSet<org.deckfour.xes.classification.XEventClass> endActivities)
Description copied from interface:DfgAdd the end activities in the multiset to the end activities.- Specified by:
addEndActivitiesin interfaceDfg
-
addEndActivities
public void addEndActivities(Dfg dfg)
Description copied from interface:DfgAdd the end activities in the dfg to the end activities.- Specified by:
addEndActivitiesin interfaceDfg
-
removeEndActivity
public void removeEndActivity(int activityIndex)
Description copied from interface:NormalisedIntDfgRemoves the end activity.- Specified by:
removeEndActivityin interfaceNormalisedIntDfg
-
removeEndActivity
public void removeEndActivity(org.deckfour.xes.classification.XEventClass activity)
Description copied from interface:DfgRemoves the end activity. Use the integer variant if possible.- Specified by:
removeEndActivityin interfaceDfg
-
getEndActivities
public java.lang.Iterable<org.deckfour.xes.classification.XEventClass> getEndActivities()
Description copied from interface:DfgReturn an iterable over the start activities. Use the integer variant if possible.- Specified by:
getEndActivitiesin interfaceDfg- Returns:
-
getEndActivityIndices
public int[] getEndActivityIndices()
- Specified by:
getEndActivityIndicesin interfaceNormalisedIntDfg- Returns:
- The indices of the start activities. This array should not be edited.
-
getNumberOfEndActivities
public long getNumberOfEndActivities()
- Specified by:
getNumberOfEndActivitiesin interfaceNormalisedIntDfg- Returns:
- The number of times that an end activity occurred. Use getNumberOfEndActivities() for the set-size.
-
addDirectlyFollowsEdge
public void addDirectlyFollowsEdge(int source, int target, long cardinality)- Specified by:
addDirectlyFollowsEdgein interfaceNormalisedIntDfg
-
addParallelEdge
public void addParallelEdge(int a, int b, long cardinality)- Specified by:
addParallelEdgein interfaceNormalisedIntDfg
-
addStartActivity
public void addStartActivity(int activityIndex, long cardinality)- Specified by:
addStartActivityin interfaceNormalisedIntDfg
-
addEndActivity
public void addEndActivity(int activityIndex, long cardinality)- Specified by:
addEndActivityin interfaceNormalisedIntDfg
-
addActivity
public void addActivity(int index)
Description copied from interface:NormalisedIntDfgAdd an activity. Notice that the index should be normalised.- Specified by:
addActivityin interfaceNormalisedIntDfg
-
addEndActivities
public void addEndActivities(MultiIntSet activities)
- Specified by:
addEndActivitiesin interfaceNormalisedIntDfg
-
getActivityMultiSet
public MultiIntSet getActivityMultiSet()
-
getActivitiesIndices
public int[] getActivitiesIndices()
-
-