org.processmining.models.flexiblemodel
Class FlexImpl

java.lang.Object
  extended by org.processmining.models.graphbased.AbstractGraphElement
      extended by org.processmining.models.graphbased.AbstractGraph
          extended by org.processmining.models.graphbased.directed.AbstractDirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>
              extended by org.processmining.models.flexiblemodel.FlexImpl
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable<org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>>, Flex, org.processmining.models.graphbased.AttributeMapOwner, org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>, org.processmining.models.graphbased.directed.DirectedGraphElement

public class FlexImpl
extends org.processmining.models.graphbased.directed.AbstractDirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>
implements Flex

Version:
Nov 19, 2009
Author:
arya

Field Summary
protected  java.util.Set<FlexEdge<FlexNode,FlexNode>> arcs
           
protected  java.util.Set<FlexNode> nodes
           
 
Fields inherited from class org.processmining.models.graphbased.AbstractGraph
id
 
Constructor Summary
FlexImpl(java.lang.String label)
           
 
Method Summary
 FlexEdge<FlexNode,FlexNode> addArc(FlexNode source, FlexNode target)
          ARC/EDGE
 FlexEdge<FlexNode,FlexNode> addArc(FlexNode source, FlexNode target, java.lang.String label)
           
 FlexNode addNode(java.lang.String label)
          NODE
protected  java.util.Map<? extends org.processmining.models.graphbased.directed.DirectedGraphElement,? extends org.processmining.models.graphbased.directed.DirectedGraphElement> cloneFrom(org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>> graph)
           
 FlexEdge<FlexNode,FlexNode> getArc(FlexNode source, FlexNode target)
          Get an arc between source and target node.
 java.util.Set<FlexEdge<? extends FlexNode,? extends FlexNode>> getEdges()
           
protected  FlexImpl getEmptyClone()
           
 java.util.Set<FlexNode> getNodes()
           
 FlexEdge<FlexNode,FlexNode> removeArc(FlexEdge<? extends FlexNode,? extends FlexNode> edge)
           
 FlexEdge<FlexNode,FlexNode> removeArc(FlexNode source, FlexNode target)
          remove an arc between source and target FlexNode
 void removeEdge(org.processmining.models.graphbased.directed.DirectedGraphEdge edge)
           
 void removeNode(org.processmining.models.graphbased.directed.DirectedGraphNode cell)
           
 FlexNode removeNode(FlexNode flexNodeElement)
          Remove a FlexNode from an Flexible model
 
Methods inherited from class org.processmining.models.graphbased.directed.AbstractDirectedGraph
checkAddEdge, compareTo, getGraph, getInEdges, getOutEdges, graphElementAdded, graphElementChanged, graphElementRemoved, removeSurroundingEdges
 
Methods inherited from class org.processmining.models.graphbased.AbstractGraph
equals, getEdges, hashCode, removeFromEdges, removeNodeFromCollection
 
Methods inherited from class org.processmining.models.graphbased.AbstractGraphElement
getAttributeMap, getLabel, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.processmining.models.flexiblemodel.Flex
getLabel
 
Methods inherited from interface org.processmining.models.graphbased.directed.DirectedGraph
getInEdges, getOutEdges
 
Methods inherited from interface org.processmining.models.graphbased.directed.DirectedGraphElement
equals, getGraph, hashCode
 
Methods inherited from interface org.processmining.models.graphbased.AttributeMapOwner
getAttributeMap
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

nodes

protected final java.util.Set<FlexNode> nodes

arcs

protected final java.util.Set<FlexEdge<FlexNode,FlexNode>> arcs
Constructor Detail

FlexImpl

public FlexImpl(java.lang.String label)
Method Detail

getEmptyClone

protected FlexImpl getEmptyClone()
Specified by:
getEmptyClone in class org.processmining.models.graphbased.directed.AbstractDirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>

cloneFrom

protected java.util.Map<? extends org.processmining.models.graphbased.directed.DirectedGraphElement,? extends org.processmining.models.graphbased.directed.DirectedGraphElement> cloneFrom(org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>> graph)
Specified by:
cloneFrom in class org.processmining.models.graphbased.directed.AbstractDirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>

addArc

public FlexEdge<FlexNode,FlexNode> addArc(FlexNode source,
                                          FlexNode target)
ARC/EDGE

Specified by:
addArc in interface Flex
Returns:

addArc

public FlexEdge<FlexNode,FlexNode> addArc(FlexNode source,
                                          FlexNode target,
                                          java.lang.String label)

removeArc

public FlexEdge<FlexNode,FlexNode> removeArc(FlexNode source,
                                             FlexNode target)
Description copied from interface: Flex
remove an arc between source and target FlexNode

Specified by:
removeArc in interface Flex
Returns:

removeArc

public FlexEdge<FlexNode,FlexNode> removeArc(FlexEdge<? extends FlexNode,? extends FlexNode> edge)

removeEdge

public void removeEdge(org.processmining.models.graphbased.directed.DirectedGraphEdge edge)
Specified by:
removeEdge in interface org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>
Specified by:
removeEdge in class org.processmining.models.graphbased.directed.AbstractDirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>

getArc

public FlexEdge<FlexNode,FlexNode> getArc(FlexNode source,
                                          FlexNode target)
Description copied from interface: Flex
Get an arc between source and target node. Return null if there is no node

Specified by:
getArc in interface Flex
Returns:

getEdges

public java.util.Set<FlexEdge<? extends FlexNode,? extends FlexNode>> getEdges()
Specified by:
getEdges in interface org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>

addNode

public FlexNode addNode(java.lang.String label)
NODE

Specified by:
addNode in interface Flex
Returns:

removeNode

public FlexNode removeNode(FlexNode flexNodeElement)
Description copied from interface: Flex
Remove a FlexNode from an Flexible model

Specified by:
removeNode in interface Flex
Returns:

getNodes

public java.util.Set<FlexNode> getNodes()
Specified by:
getNodes in interface org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>

removeNode

public void removeNode(org.processmining.models.graphbased.directed.DirectedGraphNode cell)
Specified by:
removeNode in interface org.processmining.models.graphbased.directed.DirectedGraph<FlexNode,FlexEdge<? extends FlexNode,? extends FlexNode>>