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

java.lang.Object
  extended byedu.uci.ics.jung.graph.impl.AbstractHyperUnitBPG
      extended byedu.uci.ics.jung.graph.impl.HyperedgeBPG
All Implemented Interfaces:
ArchetypeEdge, Hyperedge, UserDataContainer

public class HyperedgeBPG
extends AbstractHyperUnitBPG
implements Hyperedge

A HyperEdge has zero or more HyperVertices attached to it; this implements that as part of an underlying HyperGraph.

Author:
danyelf

Nested Class Summary
 
Nested classes inherited from class edu.uci.ics.jung.utils.UserDataContainer
UserDataContainer.CopyAction
 
Constructor Summary
HyperedgeBPG()
           
 
Method Summary
 void addVertex(Hypervertex hv3_x)
          Registers an additional vertex hv3_x onto this Edge.
 ArchetypeEdge copy(ArchetypeGraph g)
          Creates a copy of this edge in graph g.
 ArchetypeEdge getEqualEdge(ArchetypeGraph g)
          Returns the edge in graph g, if any, that is equivalent to this edge.
 ArchetypeEdge getEquivalentEdge(ArchetypeGraph g)
          Deprecated. As of version 1.4, renamed to getEqualEdge(g).
 java.util.Set getIncidentVertices()
          Returns the set of vertices which are incident to this edge.
 boolean isIncident(ArchetypeVertex v)
          Returns true if the specified vertex v is incident to this edge, and false otherwise.
 int numVertices()
          Returns the number of vertices which are incident to this edge.
 
Methods inherited from class edu.uci.ics.jung.graph.impl.AbstractHyperUnitBPG
addUserDatum, containsUserDatumKey, equals, getGraph, getUserDatum, getUserDatumCopyAction, getUserDatumKeyIterator, importUserData, removeUserDatum, removeVertex, setUserDatum
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.uci.ics.jung.graph.ArchetypeEdge
getGraph
 
Methods inherited from interface edu.uci.ics.jung.utils.UserDataContainer
addUserDatum, containsUserDatumKey, getUserDatum, getUserDatumCopyAction, getUserDatumKeyIterator, importUserData, removeUserDatum, setUserDatum
 

Constructor Detail

HyperedgeBPG

public HyperedgeBPG()
Method Detail

getIncidentVertices

public java.util.Set getIncidentVertices()
Description copied from interface: ArchetypeEdge
Returns the set of vertices which are incident to this edge. Each of the vertices returned should implement ArchetypeVertex. For example, returns the source and destination vertices of a directed edge.

Specified by:
getIncidentVertices in interface ArchetypeEdge
Returns:
the vertices incident to this edge
See Also:
ArchetypeEdge.getIncidentVertices()

getEqualEdge

public ArchetypeEdge getEqualEdge(ArchetypeGraph g)
Description copied from interface: ArchetypeEdge
Returns the edge in graph g, if any, that is equivalent to this edge. Two edges are equivalent if one of them is an ancestor (via copy()) of the other.

Specified by:
getEqualEdge in interface ArchetypeEdge
See Also:
ArchetypeEdge.getEqualEdge(edu.uci.ics.jung.graph.ArchetypeGraph)

getEquivalentEdge

public ArchetypeEdge getEquivalentEdge(ArchetypeGraph g)
Deprecated. As of version 1.4, renamed to getEqualEdge(g).

Specified by:
getEquivalentEdge in interface ArchetypeEdge

numVertices

public int numVertices()
Description copied from interface: ArchetypeEdge
Returns the number of vertices which are incident to this edge.

Specified by:
numVertices in interface ArchetypeEdge
See Also:
ArchetypeEdge.numVertices()

isIncident

public boolean isIncident(ArchetypeVertex v)
Description copied from interface: ArchetypeEdge
Returns true if the specified vertex v is incident to this edge, and false otherwise. The behavior of this method is undefined if v is not an element of this edge's graph.

Specified by:
isIncident in interface ArchetypeEdge
See Also:
ArchetypeEdge.isIncident(edu.uci.ics.jung.graph.ArchetypeVertex)

copy

public ArchetypeEdge copy(ArchetypeGraph g)
Description copied from interface: ArchetypeEdge
Creates a copy of this edge in graph g. The edge created will be equivalent to this edge: given e = this.copy(g), then this.getEquivalentEdge(g) == e, and this.equals(e) == true.

Given the set of vertices S that are incident to this edge, the copied edge will be made incident to the set of vertices S' in g that are equivalent to S. S must be copied into g before this edge can be copied into g. If there is no such set of vertices in g, this method throws IllegalArgumentException.

Thus, for example, given the following code:

      Graph g1 = new Graph();
      Vertex v1 = g1.addVertex(new DirectedSparseVertex());
      Vertex v2 = g1.addVertex(new DirectedSparseVertex());
      ... 
      Edge e = g1.addEdge(new DirectedSparseEdge(v1, v2));
      Vertex v3 = v1.getEquivalentVertex(g2);
      Vertex v4 = v2.getEquivalentVertex(g2);
 
then e.copy(g2) will create a directed edge connecting v3 to v4 in g2.

Specified by:
copy in interface ArchetypeEdge
Parameters:
g - the graph in which the copied edge will be placed
Returns:
the edge created
See Also:
ArchetypeEdge.copy(edu.uci.ics.jung.graph.ArchetypeGraph)

addVertex

public void addVertex(Hypervertex hv3_x)
Registers an additional vertex hv3_x onto this Edge.

Specified by:
addVertex in interface Hyperedge
Parameters:
hv3_x -