edu.uci.ics.jung.graph.impl
Class HypergraphBPG

java.lang.Object
  extended by edu.uci.ics.jung.utils.UserDataDelegate
      extended by edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
          extended by edu.uci.ics.jung.graph.impl.HypergraphBPG
All Implemented Interfaces:
ArchetypeGraph, Hypergraph, UserDataContainer, Cloneable

Deprecated. As of version 1.7, replaced by SetHypergraph.

public class HypergraphBPG
extends AbstractArchetypeGraph
implements Hypergraph

Implements a hypergraph built over an underlying Bipartite graph, using the equivalence explained in the FAQ. Fully implements the Hypergraph interface; its vertices and edges fully implement their interfaces. Use and create in the standard way; the underlying graph is invisible to the user (but can be extracted with a call to getBipartiteGraphEquivalent() ).

Author:
danyelf
See Also:
SetHypergraph

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
AbstractArchetypeGraph.Requirements
 
Nested classes/interfaces inherited from interface edu.uci.ics.jung.utils.UserDataContainer
UserDataContainer.CopyAction
 
Field Summary
protected  BipartiteGraph bpg
          Deprecated.  
static BipartiteGraph.Choice EDGE
          Deprecated.  
static BipartiteGraph.Choice VERTEX
          Deprecated.  
 
Fields inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
edge_requirements, mEdgeIDs, mGraphListenerHandler, mVertexIDs, vertex_requirements
 
Fields inherited from class edu.uci.ics.jung.utils.UserDataDelegate
factory, udc_delegate
 
Fields inherited from interface edu.uci.ics.jung.graph.ArchetypeGraph
SUBSET_MANAGER
 
Constructor Summary
HypergraphBPG()
          Deprecated.  
 
Method Summary
 Hyperedge addEdge(Hyperedge e)
          Deprecated. Adds a single edge to the graph
 void addEdges(Set edges)
          Deprecated.  
 void addUserDatum(Object key, Object datum, UserDataContainer.CopyAction copyAct)
          Deprecated. Adds the specified data with the specified key to this object's user data repository, with the specified CopyAction.
 Hypervertex addVertex(Hypervertex v)
          Deprecated. Adds v to this graph.
 void addVertices(Set vertices)
          Deprecated.  
 ArchetypeGraph copy()
          Deprecated. Creates a replica of this graph.
 BipartiteGraph getBipartiteGraphEquivalent()
          Deprecated. Returns a BipartiteGraph equivalent to this Graph.
 ArchetypeEdge getEdgeCorrespondingTo(BipartiteVertex vertex2)
          Deprecated.  
 Set getEdges()
          Deprecated. Returns the set of all edges in the graph.
 Object getUserDatum(Object key)
          Deprecated. Retrieves the object in this object's user data repository to which key refers.
 UserDataContainer.CopyAction getUserDatumCopyAction(Object key)
          Deprecated. Retrieves the CopyAction for the object stored in this object's user data repository to which key refers.
 Iterator getUserDatumKeyIterator()
          Deprecated. Provides an iterator over this object's user data repository key set.
 ArchetypeVertex getVertexCorrespondingTo(BipartiteVertex vertex2)
          Deprecated.  
 Set getVertices()
          Deprecated. Returns a set of all the vertices in the graph.
 void importUserData(UserDataContainer udc)
          Deprecated. Takes the user data stored in udc and copies it to this object's user data repository, respecting each datum's CopyAction.
protected  void initialize()
          Deprecated. Initializes all of the graph's internal data structures.
 ArchetypeGraph newInstance()
          Deprecated. Creates a new empty graph of the same type as this graph, by cloning this graph and then clearing the extraneous fields.
 int numEdges()
          Deprecated. Returns a count of the number of edges in the graph.
 int numVertices()
          Deprecated. Returns a count of the number of vertices in the graph.
 void removeAllEdges()
          Deprecated. Removes all edges from this graph.
 void removeAllVertices()
          Deprecated. Removes all vertices (and, therefore, all edges) from this graph.
 void removeEdge(Hyperedge e)
          Deprecated. Removes e from this graph.
 void removeEdges(Set edges)
          Deprecated. Removes all elements of edges from this graph.
 Object removeUserDatum(Object key)
          Deprecated. Retrieves the object in this object's user data repository to which key refers, and removes it from the repository.
 void removeVertex(Hypervertex v)
          Deprecated. Removes v from this graph.
 void removeVertices(Set vertices)
          Deprecated. Removes all elements of vertices from this graph.
 void setUserDatum(Object key, Object datum, UserDataContainer.CopyAction copyAct)
          Deprecated. If key refers to an existing user datum in this object's repository, that datum is replaced by the specified datum.
 
Methods inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
addAllNotInitializers, addListener, checkConstraints, getEdgeConstraints, getVertexConstraints, listenersExist, removeListener, toString
 
Methods inherited from class edu.uci.ics.jung.utils.UserDataDelegate
clone, containsUserDatumKey, setUserDataFactory
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.uci.ics.jung.graph.ArchetypeGraph
addListener, getEdgeConstraints, getVertexConstraints, removeListener
 
Methods inherited from interface edu.uci.ics.jung.utils.UserDataContainer
clone, containsUserDatumKey
 

Field Detail

bpg

protected BipartiteGraph bpg
Deprecated. 

VERTEX

public static final BipartiteGraph.Choice VERTEX
Deprecated. 

EDGE

public static final BipartiteGraph.Choice EDGE
Deprecated. 
Constructor Detail

HypergraphBPG

public HypergraphBPG()
Deprecated. 
Method Detail

initialize

protected void initialize()
Deprecated. 
Description copied from class: AbstractArchetypeGraph
Initializes all of the graph's internal data structures. Should always be called by any mechanism that creates a new instance of AbstractSparseGraph (for example, constructors and implementations of newInstance()). If you add predicates here, please set their isInitializeFlag to TRUE.

Note: this method is not a substitute for removeAllVertices(), as it will not notify the vertices and edges that they have been removed from the graph.

Overrides:
initialize in class AbstractArchetypeGraph

newInstance

public ArchetypeGraph newInstance()
Deprecated. 
Description copied from class: AbstractArchetypeGraph
Creates a new empty graph of the same type as this graph, by cloning this graph and then clearing the extraneous fields.

Specified by:
newInstance in interface ArchetypeGraph
Overrides:
newInstance in class AbstractArchetypeGraph
Returns:
ArchetypeGraph
See Also:
ArchetypeGraph.newInstance()

addVertex

public Hypervertex addVertex(Hypervertex v)
Deprecated. 
Adds v to this graph.

Specified by:
addVertex in interface Hypergraph

addEdge

public Hyperedge addEdge(Hyperedge e)
Deprecated. 
Adds a single edge to the graph

Specified by:
addEdge in interface Hypergraph
See Also:
Hypergraph.addEdge(edu.uci.ics.jung.graph.Hyperedge)

getVertices

public Set getVertices()
Deprecated. 
Returns a set of all the vertices in the graph.

Specified by:
getVertices in interface ArchetypeGraph
See Also:
ArchetypeGraph.getVertices()

getEdges

public Set getEdges()
Deprecated. 
Returns the set of all edges in the graph.

Specified by:
getEdges in interface ArchetypeGraph
See Also:
ArchetypeGraph.getEdges()

numVertices

public int numVertices()
Deprecated. 
Returns a count of the number of vertices in the graph.

Specified by:
numVertices in interface ArchetypeGraph
Overrides:
numVertices in class AbstractArchetypeGraph
See Also:
ArchetypeGraph.numVertices()

numEdges

public int numEdges()
Deprecated. 
Returns a count of the number of edges in the graph.

Specified by:
numEdges in interface ArchetypeGraph
Overrides:
numEdges in class AbstractArchetypeGraph
See Also:
ArchetypeGraph.numEdges()

removeVertex

public void removeVertex(Hypervertex v)
Deprecated. 
Description copied from interface: Hypergraph
Removes v from this graph. Throws IllegalArgumentException if v is not in this graph.

Specified by:
removeVertex in interface Hypergraph

removeEdge

public void removeEdge(Hyperedge e)
Deprecated. 
Description copied from interface: Hypergraph
Removes e from this graph. Throws IllegalArgumentException if e is not in this graph.

Specified by:
removeEdge in interface Hypergraph

addVertices

public void addVertices(Set vertices)
Deprecated. 

addEdges

public void addEdges(Set edges)
Deprecated. 

removeVertices

public void removeVertices(Set vertices)
Deprecated. 
Description copied from interface: ArchetypeGraph
Removes all elements of vertices from this graph. If any element of vertices is not part of this graph, then throws IllegalArgumentException. If this exception is thrown, any vertices that may have been removed already are not guaranteed to be restored to the graph. Prunes any resultant ill-formed edges.

Specified by:
removeVertices in interface ArchetypeGraph
Parameters:
vertices - the set of vertices to be removed
See Also:
ArchetypeGraph.removeVertices(java.util.Set)

removeEdges

public void removeEdges(Set edges)
Deprecated. 
Description copied from interface: ArchetypeGraph
Removes all elements of edges from this graph. If any element of edges is not part of this graph, then throws IllegalArgumentException. If this exception is thrown, any edges that may have been removed already are not guaranteed to be restored to the graph.

Specified by:
removeEdges in interface ArchetypeGraph
See Also:
ArchetypeGraph.removeEdges(java.util.Set)

removeAllEdges

public void removeAllEdges()
Deprecated. 
Description copied from class: AbstractArchetypeGraph
Removes all edges from this graph. Syntactic sugar for a loop that calls removeEdge on all edges of this graph.

Specified by:
removeAllEdges in interface ArchetypeGraph
Overrides:
removeAllEdges in class AbstractArchetypeGraph
See Also:
ArchetypeGraph.removeAllEdges()

removeAllVertices

public void removeAllVertices()
Deprecated. 
Description copied from class: AbstractArchetypeGraph
Removes all vertices (and, therefore, all edges) from this graph. Syntactic sugar for a loop that calls removeVertex on all vertices of this graph.

Specified by:
removeAllVertices in interface ArchetypeGraph
Overrides:
removeAllVertices in class AbstractArchetypeGraph
See Also:
ArchetypeGraph.removeAllVertices()

copy

public ArchetypeGraph copy()
Deprecated. 
Description copied from class: AbstractArchetypeGraph
Creates a replica of this graph. Creates a new instance, then copies all vertices, then all edges, and finally all user data.

Specified by:
copy in interface ArchetypeGraph
Overrides:
copy in class AbstractArchetypeGraph
See Also:
ArchetypeGraph.copy()

addUserDatum

public void addUserDatum(Object key,
                         Object datum,
                         UserDataContainer.CopyAction copyAct)
Deprecated. 
Description copied from interface: UserDataContainer
Adds the specified data with the specified key to this object's user data repository, with the specified CopyAction.

Specified by:
addUserDatum in interface UserDataContainer
Overrides:
addUserDatum in class UserDataDelegate
Parameters:
key - the key of the datum being added
datum - the datum being added
copyAct - the CopyAction of the datum being added
See Also:
UserDataContainer.addUserDatum(java.lang.Object, java.lang.Object, edu.uci.ics.jung.utils.UserDataContainer.CopyAction)

importUserData

public void importUserData(UserDataContainer udc)
Deprecated. 
Description copied from interface: UserDataContainer
Takes the user data stored in udc and copies it to this object's user data repository, respecting each datum's CopyAction.

Specified by:
importUserData in interface UserDataContainer
Overrides:
importUserData in class UserDataDelegate
Parameters:
udc - the source of the user data to be copied into this container
See Also:
UserDataContainer.importUserData(edu.uci.ics.jung.utils.UserDataContainer)

getUserDatumKeyIterator

public Iterator getUserDatumKeyIterator()
Deprecated. 
Description copied from interface: UserDataContainer
Provides an iterator over this object's user data repository key set.

Specified by:
getUserDatumKeyIterator in interface UserDataContainer
Overrides:
getUserDatumKeyIterator in class UserDataDelegate
See Also:
UserDataContainer.getUserDatumKeyIterator()

getUserDatumCopyAction

public UserDataContainer.CopyAction getUserDatumCopyAction(Object key)
Deprecated. 
Description copied from interface: UserDataContainer
Retrieves the CopyAction for the object stored in this object's user data repository to which key refers.

Specified by:
getUserDatumCopyAction in interface UserDataContainer
Overrides:
getUserDatumCopyAction in class UserDataDelegate
Parameters:
key - the key of the datum whose CopyAction is requested
Returns:
CopyAction the requested CopyAction
See Also:
UserDataContainer.getUserDatumCopyAction(java.lang.Object)

getUserDatum

public Object getUserDatum(Object key)
Deprecated. 
Description copied from interface: UserDataContainer
Retrieves the object in this object's user data repository to which key refers.

Specified by:
getUserDatum in interface UserDataContainer
Overrides:
getUserDatum in class UserDataDelegate
Parameters:
key - the key of the datum to retrieve
Returns:
Object the datum retrieved
See Also:
UserDataContainer.getUserDatum(java.lang.Object)

setUserDatum

public void setUserDatum(Object key,
                         Object datum,
                         UserDataContainer.CopyAction copyAct)
Deprecated. 
Description copied from interface: UserDataContainer
If key refers to an existing user datum in this object's repository, that datum is replaced by the specified datum. Otherwise this is equivalent to addUserDatum(key, data, copyAct).

Specified by:
setUserDatum in interface UserDataContainer
Overrides:
setUserDatum in class UserDataDelegate
Parameters:
key - the key of the datum being added/modified
datum - the replacement/new datum
copyAct - the CopyAction for the new (key, datum) pair
See Also:
UserDataContainer.setUserDatum(java.lang.Object, java.lang.Object, edu.uci.ics.jung.utils.UserDataContainer.CopyAction)

removeUserDatum

public Object removeUserDatum(Object key)
Deprecated. 
Description copied from interface: UserDataContainer
Retrieves the object in this object's user data repository to which key refers, and removes it from the repository.

Specified by:
removeUserDatum in interface UserDataContainer
Overrides:
removeUserDatum in class UserDataDelegate
Parameters:
key - the key of the datum to be removed
Returns:
Object the datum removed
See Also:
UserDataContainer.removeUserDatum(java.lang.Object)

getVertexCorrespondingTo

public ArchetypeVertex getVertexCorrespondingTo(BipartiteVertex vertex2)
Deprecated. 
Parameters:
vertex2 -
Returns:
the vertex in the hypergraph corresponding to the underlying bipartite vertex vertex2

getEdgeCorrespondingTo

public ArchetypeEdge getEdgeCorrespondingTo(BipartiteVertex vertex2)
Deprecated. 
Parameters:
vertex2 -
Returns:
the edge in the hypergraph corresponding to the underlying bipartite vertex vertex2

getBipartiteGraphEquivalent

public BipartiteGraph getBipartiteGraphEquivalent()
Deprecated. 
Returns a BipartiteGraph equivalent to this Graph. Each vertex in the BipartiteGraph will be Equal to a HyperVertex or a HyperEdge in this graph. (Note that equals is NOT symmetrical in this case; hyperedge.equals( vertex ) will return true for one of these vertices, but vertex.equals( hyperedge ) will return false.