G - The graph type to be read from the GraphML fileV - The vertex type used by the graphE - The edge type used by the graphpublic class GraphMLReader2<G extends edu.uci.ics.jung.graph.Hypergraph<V,E>,V,E> extends java.lang.Object implements GraphReader<G,V,E>
Transformer that will create graphs capable of supporting the
edge types in the supplied GraphML file. If the graph generated by the
Factory is not compatible (for example: if the graph does not
accept directed edges, and the GraphML file contains a directed edge) then
the results are graph-implementation-dependent.| Modifier and Type | Field and Description |
|---|---|
protected GraphMLDocument |
document |
protected org.apache.commons.collections4.Transformer<EdgeMetadata,E> |
edgeTransformer |
protected java.io.Reader |
fileReader |
protected org.apache.commons.collections4.Transformer<GraphMetadata,G> |
graphTransformer |
protected org.apache.commons.collections4.Transformer<HyperEdgeMetadata,E> |
hyperEdgeTransformer |
protected boolean |
initialized |
protected ElementParserRegistry<G,V,E> |
parserRegistry |
protected org.apache.commons.collections4.Transformer<NodeMetadata,V> |
vertexTransformer |
protected javax.xml.stream.XMLEventReader |
xmlEventReader |
| Constructor and Description |
|---|
GraphMLReader2(java.io.Reader fileReader,
org.apache.commons.collections4.Transformer<GraphMetadata,G> graphTransformer,
org.apache.commons.collections4.Transformer<NodeMetadata,V> vertexTransformer,
org.apache.commons.collections4.Transformer<EdgeMetadata,E> edgeTransformer,
org.apache.commons.collections4.Transformer<HyperEdgeMetadata,E> hyperEdgeTransformer)
Constructs a GraphML reader around the given reader.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the GraphML reader and disposes of any resources.
|
org.apache.commons.collections4.Transformer<EdgeMetadata,E> |
getEdgeTransformer()
Gets the current transformer that is being used for edge objects.
|
GraphMLDocument |
getGraphMLDocument()
Returns the object that contains the metadata read in from the GraphML
document
|
org.apache.commons.collections4.Transformer<GraphMetadata,G> |
getGraphTransformer()
Gets the current transformer that is being used for graph objects.
|
org.apache.commons.collections4.Transformer<HyperEdgeMetadata,E> |
getHyperEdgeTransformer()
Gets the current transformer that is being used for hyperedge objects.
|
org.apache.commons.collections4.Transformer<NodeMetadata,V> |
getVertexTransformer()
Gets the current transformer that is being used for vertex objects.
|
void |
init()
Verifies the object state and initializes this reader.
|
G |
readGraph()
Reads a single graph object from the GraphML document.
|
protected javax.xml.stream.XMLEventReader xmlEventReader
protected java.io.Reader fileReader
protected org.apache.commons.collections4.Transformer<GraphMetadata,G extends edu.uci.ics.jung.graph.Hypergraph<V,E>> graphTransformer
protected org.apache.commons.collections4.Transformer<NodeMetadata,V> vertexTransformer
protected org.apache.commons.collections4.Transformer<EdgeMetadata,E> edgeTransformer
protected org.apache.commons.collections4.Transformer<HyperEdgeMetadata,E> hyperEdgeTransformer
protected boolean initialized
protected final GraphMLDocument document
public GraphMLReader2(java.io.Reader fileReader,
org.apache.commons.collections4.Transformer<GraphMetadata,G> graphTransformer,
org.apache.commons.collections4.Transformer<NodeMetadata,V> vertexTransformer,
org.apache.commons.collections4.Transformer<EdgeMetadata,E> edgeTransformer,
org.apache.commons.collections4.Transformer<HyperEdgeMetadata,E> hyperEdgeTransformer)
fileReader - the reader for the input GraphML document.graphTransformer - Transformation function to convert from GraphML GraphMetadata
to graph objects. This must be non-null.vertexTransformer - Transformation function to convert from GraphML NodeMetadata
to vertex objects. This must be non-null.edgeTransformer - Transformation function to convert from GraphML EdgeMetadata
to edge objects. This must be non-null.hyperEdgeTransformer - Transformation function to convert from GraphML
HyperEdgeMetadata to edge objects. This must be non-null.java.lang.IllegalArgumentException - thrown if any of the arguments are null.public org.apache.commons.collections4.Transformer<GraphMetadata,G> getGraphTransformer()
public org.apache.commons.collections4.Transformer<NodeMetadata,V> getVertexTransformer()
public org.apache.commons.collections4.Transformer<EdgeMetadata,E> getEdgeTransformer()
public org.apache.commons.collections4.Transformer<HyperEdgeMetadata,E> getHyperEdgeTransformer()
public void init()
throws GraphIOException
GraphReaderException
will be thrown. This method may be called more than once.
Successive calls will have no effect.GraphIOException - thrown if an error occurred.public void close()
throws GraphIOException
close in interface GraphReader<G extends edu.uci.ics.jung.graph.Hypergraph<V,E>,V,E>GraphIOException - thrown if an error occurs.public GraphMLDocument getGraphMLDocument()
public G readGraph() throws GraphIOException
init to initialize the state of the reader.readGraph in interface GraphReader<G extends edu.uci.ics.jung.graph.Hypergraph<V,E>,V,E>GraphIOException - thrown if an error occurred.