Package ghidra.graph.jung
Class JungToGDirectedGraphAdapter<V,E extends GEdge<V>>
- java.lang.Object
-
- ghidra.graph.jung.JungToGDirectedGraphAdapter<V,E>
-
- Type Parameters:
V
- the vertex typeE
- the edge type
- All Implemented Interfaces:
GDirectedGraph<V,E>
,GImplicitDirectedGraph<V,E>
public class JungToGDirectedGraphAdapter<V,E extends GEdge<V>> extends java.lang.Object implements GDirectedGraph<V,E>
A class that turns aGraph
into aGDirectedGraph
.
-
-
Constructor Summary
Constructors Constructor Description JungToGDirectedGraphAdapter(edu.uci.ics.jung.graph.Graph<V,E> delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEdge(E e)
Add an edgeboolean
addEdge(E edge, java.util.Collection<? extends V> vertices)
boolean
addEdge(E edge, java.util.Collection<? extends V> vertices, edu.uci.ics.jung.graph.util.EdgeType edge_type)
boolean
addEdge(E e, V v1, V v2)
boolean
addEdge(E e, V v1, V v2, edu.uci.ics.jung.graph.util.EdgeType edgeType)
boolean
addVertex(V vertex)
Add a vertexboolean
containsEdge(E edge)
Test if the graph contains a given edgeboolean
containsEdge(V from, V to)
Test if the graph contains an edge from one given vertex to anotherboolean
containsVertex(V vertex)
Test if the graph contains a given vertexGDirectedGraph<V,E>
copy()
Copy this graph.int
degree(V vertex)
GDirectedGraph<V,E>
emptyCopy()
Creates a new instance of this graph with no vertices or edges.E
findEdge(V v1, V v2)
Locates the edge object for the two verticesjava.util.Collection<E>
findEdgeSet(V v1, V v2)
edu.uci.ics.jung.graph.util.EdgeType
getDefaultEdgeType()
V
getDest(E directed_edge)
int
getEdgeCount()
Count the number of edges in the graphint
getEdgeCount(edu.uci.ics.jung.graph.util.EdgeType edge_type)
java.util.Collection<E>
getEdges()
Retrieve all the edgesjava.util.Collection<E>
getEdges(edu.uci.ics.jung.graph.util.EdgeType edge_type)
edu.uci.ics.jung.graph.util.EdgeType
getEdgeType(E edge)
edu.uci.ics.jung.graph.util.Pair<V>
getEndpoints(E edge)
int
getIncidentCount(E edge)
java.util.Collection<E>
getIncidentEdges(V vertex)
Returns all edges connected to the given vertexjava.util.Collection<V>
getIncidentVertices(E edge)
java.util.Collection<E>
getInEdges(V vertex)
Compute the incident edges that end at the given vertexint
getNeighborCount(V vertex)
java.util.Collection<V>
getNeighbors(V vertex)
V
getOpposite(V vertex, E edge)
java.util.Collection<E>
getOutEdges(V vertex)
Compute the incident edges that start at the given vertexint
getPredecessorCount(V vertex)
java.util.Collection<V>
getPredecessors(V vertex)
Compute a vertex's predecessorsV
getSource(E directed_edge)
int
getSuccessorCount(V vertex)
java.util.Collection<V>
getSuccessors(V vertex)
Compute a vertex's successorsint
getVertexCount()
Count the number of vertices in the graphjava.util.Collection<V>
getVertices()
Retrieve all the verticesint
inDegree(V vertex)
boolean
isDest(V vertex, E edge)
boolean
isEmpty()
Test if the graph is empty, i.e., contains no vertices or edgesboolean
isIncident(V vertex, E edge)
boolean
isNeighbor(V v1, V v2)
boolean
isPredecessor(V v1, V v2)
boolean
isSource(V vertex, E edge)
boolean
isSuccessor(V v1, V v2)
int
outDegree(V vertex)
boolean
removeEdge(E edge)
Removes an edgevoid
removeEdges(java.lang.Iterable<E> edges)
Removes the given edges from the graphboolean
removeVertex(V vertex)
Remove a vertexvoid
removeVertices(java.lang.Iterable<V> vertices)
Removes the given vertices from the graph
-
-
-
Method Detail
-
addEdge
public void addEdge(E e)
Description copied from interface:GDirectedGraph
Add an edge
-
containsEdge
public boolean containsEdge(V from, V to)
Description copied from interface:GDirectedGraph
Test if the graph contains an edge from one given vertex to another- Specified by:
containsEdge
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
from
- the source vertexto
- the destination vertex- Returns:
- true if such an edge exists, or false
-
emptyCopy
public GDirectedGraph<V,E> emptyCopy()
Description copied from interface:GDirectedGraph
Creates a new instance of this graph with no vertices or edges. This is useful when you wish to build a new graph using the same type as this graph.
-
copy
public GDirectedGraph<V,E> copy()
Description copied from interface:GDirectedGraph
Copy this graph.Note: the vertices and edges in the copy may be the same instances in the new graph and not themselves copies.
-
isEmpty
public boolean isEmpty()
Description copied from interface:GDirectedGraph
Test if the graph is empty, i.e., contains no vertices or edges
-
getEdges
public java.util.Collection<E> getEdges()
Description copied from interface:GDirectedGraph
Retrieve all the edges
-
getInEdges
public java.util.Collection<E> getInEdges(V vertex)
Description copied from interface:GDirectedGraph
Compute the incident edges that end at the given vertex- Specified by:
getInEdges
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Specified by:
getInEdges
in interfaceGImplicitDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the destination vertex- Returns:
- the in-edges to the given vertex
-
getVertices
public java.util.Collection<V> getVertices()
Description copied from interface:GDirectedGraph
Retrieve all the vertices- Specified by:
getVertices
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Returns:
- the vertices
-
getOutEdges
public java.util.Collection<E> getOutEdges(V vertex)
Description copied from interface:GDirectedGraph
Compute the incident edges that start at the given vertex- Specified by:
getOutEdges
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Specified by:
getOutEdges
in interfaceGImplicitDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the source vertex- Returns:
- the out-edges from the given vertex
-
containsVertex
public boolean containsVertex(V vertex)
Description copied from interface:GDirectedGraph
Test if the graph contains a given vertex- Specified by:
containsVertex
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the vertex- Returns:
- true if the vertex is in the graph, or false
-
getPredecessors
public java.util.Collection<V> getPredecessors(V vertex)
Description copied from interface:GDirectedGraph
Compute a vertex's predecessorsThe default implementation computes this from the in-edges
- Specified by:
getPredecessors
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Specified by:
getPredecessors
in interfaceGImplicitDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the destination vertex- Returns:
- the predecessors
-
containsEdge
public boolean containsEdge(E edge)
Description copied from interface:GDirectedGraph
Test if the graph contains a given edge- Specified by:
containsEdge
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
edge
- the ege- Returns:
- true if the edge is in the graph, or false
-
getEdgeCount
public int getEdgeCount()
Description copied from interface:GDirectedGraph
Count the number of edges in the graph- Specified by:
getEdgeCount
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Returns:
- the count
-
getSuccessors
public java.util.Collection<V> getSuccessors(V vertex)
Description copied from interface:GDirectedGraph
Compute a vertex's successorsThe default implementation compute this from the out-edges
- Specified by:
getSuccessors
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Specified by:
getSuccessors
in interfaceGImplicitDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the source vertex- Returns:
- the successors
-
getVertexCount
public int getVertexCount()
Description copied from interface:GDirectedGraph
Count the number of vertices in the graph- Specified by:
getVertexCount
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Returns:
- the count
-
inDegree
public int inDegree(V vertex)
-
getIncidentEdges
public java.util.Collection<E> getIncidentEdges(V vertex)
Description copied from interface:GDirectedGraph
Returns all edges connected to the given vertex- Specified by:
getIncidentEdges
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the vertex- Returns:
- the edges
-
outDegree
public int outDegree(V vertex)
-
findEdge
public E findEdge(V v1, V v2)
Description copied from interface:GDirectedGraph
Locates the edge object for the two vertices
-
getPredecessorCount
public int getPredecessorCount(V vertex)
-
getSuccessorCount
public int getSuccessorCount(V vertex)
-
addVertex
public boolean addVertex(V vertex)
Description copied from interface:GDirectedGraph
Add a vertex
-
addEdge
public boolean addEdge(E edge, java.util.Collection<? extends V> vertices, edu.uci.ics.jung.graph.util.EdgeType edge_type)
-
removeVertex
public boolean removeVertex(V vertex)
Description copied from interface:GDirectedGraph
Remove a vertex- Specified by:
removeVertex
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertex
- the vertex- Returns:
- true
-
removeVertices
public void removeVertices(java.lang.Iterable<V> vertices)
Description copied from interface:GDirectedGraph
Removes the given vertices from the graph- Specified by:
removeVertices
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
vertices
- the vertices to remove
-
removeEdges
public void removeEdges(java.lang.Iterable<E> edges)
Description copied from interface:GDirectedGraph
Removes the given edges from the graph- Specified by:
removeEdges
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
edges
- the edges to remove
-
removeEdge
public boolean removeEdge(E edge)
Description copied from interface:GDirectedGraph
Removes an edge- Specified by:
removeEdge
in interfaceGDirectedGraph<V,E extends GEdge<V>>
- Parameters:
edge
- the edge- Returns:
- true if the graph contained the given edge
-
degree
public int degree(V vertex)
-
getNeighborCount
public int getNeighborCount(V vertex)
-
getIncidentCount
public int getIncidentCount(E edge)
-
getEdgeType
public edu.uci.ics.jung.graph.util.EdgeType getEdgeType(E edge)
-
getDefaultEdgeType
public edu.uci.ics.jung.graph.util.EdgeType getDefaultEdgeType()
-
getEdges
public java.util.Collection<E> getEdges(edu.uci.ics.jung.graph.util.EdgeType edge_type)
-
getEdgeCount
public int getEdgeCount(edu.uci.ics.jung.graph.util.EdgeType edge_type)
-
-