public abstract class AbstractCompactGraph<E extends CompactEdge<EP>,NP,EP> extends AbstractMutableGraph<Integer,E,NP,EP> implements NodeIDs<Integer>
Modifier and Type | Field and Description |
---|---|
protected ResizingObjectArray |
edges |
protected int |
size |
Constructor and Description |
---|
AbstractCompactGraph() |
AbstractCompactGraph(int initialCapacity) |
Modifier and Type | Method and Description |
---|---|
int |
addIntNode() |
int |
addIntNode(NP properties) |
Integer |
addNode(NP properties)
Adds a new node to the graph.
|
E |
connect(Integer source,
Integer target,
EP properties)
Inserts an edge in the graph.
|
CompactEdge<EP> |
connect(int source,
int target) |
E |
connect(int source,
int target,
EP property) |
protected abstract E |
createEdge(int source,
int target,
EP property) |
EP |
getEdgeProperty(E edge)
Retrieves the property of a given edge.
|
Integer |
getNode(int id) |
int |
getNodeId(Integer node) |
abstract NP |
getNodeProperties(int node) |
NP |
getNodeProperty(Integer node)
Retrieves the property of a given node.
|
Collection<Integer> |
getNodes()
Retrieves an (unmodifiable) collection of the nodes in this graph.
|
protected List<E> |
getOutEdgeList(int node) |
Collection<E> |
getOutgoingEdges(int node) |
Collection<E> |
getOutgoingEdges(Integer node)
Retrieves the outgoing edges of a given node.
|
Integer |
getTarget(E edge)
Retrieves, for a given edge, its target node.
|
NodeIDs<Integer> |
nodeIDs() |
void |
setEdgeProperty(E edge,
EP property) |
void |
setNodeProperty(Integer node,
NP property) |
abstract void |
setNodeProperty(int node,
NP property) |
addNode, connect
iterator, iterator, nodeIDs, size, size
createDynamicNodeMapping, createDynamicNodeMapping, createStaticNodeMapping, createStaticNodeMapping
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, iterator, spliterator
createDynamicNodeMapping, createStaticNodeMapping
protected int size
protected final ResizingObjectArray edges
public AbstractCompactGraph()
public AbstractCompactGraph(int initialCapacity)
protected List<E> getOutEdgeList(int node)
public Collection<Integer> getNodes()
Graph
public NodeIDs<Integer> nodeIDs()
nodeIDs
in interface Graph<Integer,E extends CompactEdge<EP>>
nodeIDs
in class AbstractGraph<Integer,E extends CompactEdge<EP>>
public Collection<E> getOutgoingEdges(Integer node)
IndefiniteGraph
getOutgoingEdges
in interface IndefiniteGraph<Integer,E extends CompactEdge<EP>>
node
- the node.Collection
of all outgoing edges, or null
if
the node has no outgoing edges.public Collection<E> getOutgoingEdges(int node)
public Integer getTarget(E edge)
IndefiniteGraph
getTarget
in interface IndefiniteGraph<Integer,E extends CompactEdge<EP>>
edge
- the edge.public Integer addNode(NP properties)
MutableGraph
addNode
in interface MutableGraph<Integer,E extends CompactEdge<EP>,NP,EP>
properties
- the property for the new nodepublic int addIntNode()
public int addIntNode(NP properties)
public E connect(Integer source, Integer target, EP properties)
MutableGraph
connect
in interface MutableGraph<Integer,E extends CompactEdge<EP>,NP,EP>
source
- the source node of the edgetarget
- the target node of the edgeproperties
- the property of the edgepublic CompactEdge<EP> connect(int source, int target)
public abstract NP getNodeProperties(int node)
public abstract void setNodeProperty(int node, NP property)
public void setNodeProperty(Integer node, NP property)
setNodeProperty
in interface MutableGraph<Integer,E extends CompactEdge<EP>,NP,EP>
public void setEdgeProperty(E edge, EP property)
setEdgeProperty
in interface MutableGraph<Integer,E extends CompactEdge<EP>,NP,EP>
public NP getNodeProperty(Integer node)
UniversalIndefiniteGraph
getNodeProperty
in interface UniversalIndefiniteGraph<Integer,E extends CompactEdge<EP>,NP,EP>
node
- the nodepublic EP getEdgeProperty(E edge)
UniversalIndefiniteGraph
getEdgeProperty
in interface UniversalIndefiniteGraph<Integer,E extends CompactEdge<EP>,NP,EP>
edge
- the edgeprotected abstract E createEdge(int source, int target, EP property)
Copyright © 2015. All Rights Reserved.