Class GraphSONReader
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONReader
-
- All Implemented Interfaces:
GraphReader
public final class GraphSONReader extends Object implements GraphReader
A @{link GraphReader} that constructs a graph from a JSON-based representation of a graph and its elements. This implementation only supports JSON data types and is therefore lossy with respect to data types (e.g. a float will become a double, element IDs may not be retrieved in the format they were serialized, etc.).Edge
andVertex
objects are serialized toMap
instances. If anElement
is used as a key, it is coerced to its identifier. Other complex objects are converted viaObject.toString()
unless there is a mapper serializer supplied.- Author:
- Stephen Mallette (http://stephen.genoprime.com)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GraphSONReader.Builder
-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.io.GraphReader
GraphReader.ReaderBuilder<T extends GraphReader>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GraphSONReader.Builder
build()
Edge
readEdge(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Edge>,Edge> edgeAttachMethod)
Read anEdge
from output generated byGraphSONWriter.writeEdge(OutputStream, Edge)
or via anEdge
passed toGraphSONWriter.writeObject(OutputStream, Object)
.void
readGraph(InputStream inputStream, Graph graphToWriteTo)
Read data into aGraph
from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGryoWriter.writeGraph(OutputStream, Graph)
.<C> C
readObject(InputStream inputStream, Class<? extends C> clazz)
Reads an arbitrary object using the registered serializers.Property
readProperty(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Property>,Property> propertyAttachMethod)
Read aProperty
from output generated byGraphSONWriter.writeProperty(OutputStream, Property)
or via anProperty
passed toGraphSONWriter.writeObject(OutputStream, Object)
.Vertex
readVertex(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Vertex>,Vertex> vertexAttachMethod)
Read aVertex
from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGraphSONWriter.writeGraph(OutputStream, Graph)
.Vertex
readVertex(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Vertex>,Vertex> vertexAttachMethod, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Edge>,Edge> edgeAttachMethod, Direction attachEdgesOfThisDirection)
Read aVertex
from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGraphSONWriter.writeGraph(OutputStream, Graph)
.VertexProperty
readVertexProperty(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<VertexProperty>,VertexProperty> vertexPropertyAttachMethod)
Read aVertexProperty
from output generated byGraphSONWriter.writeVertexProperty(OutputStream, VertexProperty)
or via anVertexProperty
passed toGraphSONWriter.writeObject(OutputStream, Object)
.Iterator<Vertex>
readVertices(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Vertex>,Vertex> vertexAttachMethod, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Edge>,Edge> edgeAttachMethod, Direction attachEdgesOfThisDirection)
ReadVertex
objects from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGraphSONWriter.writeGraph(OutputStream, Graph)
.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.tinkerpop.gremlin.structure.io.GraphReader
readVertex
-
-
-
-
Method Detail
-
readGraph
public void readGraph(InputStream inputStream, Graph graphToWriteTo) throws IOException
Read data into aGraph
from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGryoWriter.writeGraph(OutputStream, Graph)
.- Specified by:
readGraph
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing an entire graph of vertices and edges as defined by the accompanyingGraphSONWriter.writeGraph(OutputStream, Graph)
.graphToWriteTo
- the graph to write to when reading from the stream.- Throws:
IOException
-
readVertices
public Iterator<Vertex> readVertices(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Vertex>,Vertex> vertexAttachMethod, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Edge>,Edge> edgeAttachMethod, Direction attachEdgesOfThisDirection) throws IOException
ReadVertex
objects from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGraphSONWriter.writeGraph(OutputStream, Graph)
.- Specified by:
readVertices
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing at least oneVertex
as defined by the accompanyingGraphWriter.writeVertices(OutputStream, Iterator, Direction)
orGraphWriter.writeVertices(OutputStream, Iterator)
methods.vertexAttachMethod
- a function that creates re-attaches aVertex
to aHost
object.edgeAttachMethod
- a function that creates re-attaches aEdge
to aHost
object.attachEdgesOfThisDirection
- only edges of this direction are passed to theedgeMaker
.- Throws:
IOException
-
readVertex
public Vertex readVertex(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Vertex>,Vertex> vertexAttachMethod) throws IOException
Read aVertex
from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGraphSONWriter.writeGraph(OutputStream, Graph)
.- Specified by:
readVertex
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing at least a single vertex as defined by the accompanyingGraphWriter.writeVertex(OutputStream, Vertex)
.vertexAttachMethod
- a function that creates re-attaches aVertex
to aHost
object.- Throws:
IOException
-
readVertex
public Vertex readVertex(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Vertex>,Vertex> vertexAttachMethod, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Edge>,Edge> edgeAttachMethod, Direction attachEdgesOfThisDirection) throws IOException
Read aVertex
from output generated by any of theGraphSONWriter
writeVertex
orwriteVertices
methods or byGraphSONWriter.writeGraph(OutputStream, Graph)
.- Specified by:
readVertex
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing at least oneVertex
as defined by the accompanyingGraphWriter.writeVertices(OutputStream, Iterator, Direction)
method.vertexAttachMethod
- a function that creates re-attaches aVertex
to aHost
object.edgeAttachMethod
- a function that creates re-attaches aEdge
to aHost
object.attachEdgesOfThisDirection
- only edges of this direction are passed to theedgeMaker
.- Throws:
IOException
-
readEdge
public Edge readEdge(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Edge>,Edge> edgeAttachMethod) throws IOException
Read anEdge
from output generated byGraphSONWriter.writeEdge(OutputStream, Edge)
or via anEdge
passed toGraphSONWriter.writeObject(OutputStream, Object)
.- Specified by:
readEdge
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing at least oneEdge
as defined by the accompanyingGraphWriter.writeEdge(OutputStream, Edge)
method.edgeAttachMethod
- a function that creates re-attaches aEdge
to aHost
object.- Throws:
IOException
-
readVertexProperty
public VertexProperty readVertexProperty(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<VertexProperty>,VertexProperty> vertexPropertyAttachMethod) throws IOException
Read aVertexProperty
from output generated byGraphSONWriter.writeVertexProperty(OutputStream, VertexProperty)
or via anVertexProperty
passed toGraphSONWriter.writeObject(OutputStream, Object)
.- Specified by:
readVertexProperty
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing at least oneVertexProperty
as written by the accompanyingGraphWriter.writeVertexProperty(OutputStream, VertexProperty)
method.vertexPropertyAttachMethod
- a function that creates re-attaches aVertexProperty
to aHost
object.- Returns:
- the value returned by the attach method.
- Throws:
IOException
-
readProperty
public Property readProperty(InputStream inputStream, Function<org.apache.tinkerpop.gremlin.structure.util.Attachable<Property>,Property> propertyAttachMethod) throws IOException
Read aProperty
from output generated byGraphSONWriter.writeProperty(OutputStream, Property)
or via anProperty
passed toGraphSONWriter.writeObject(OutputStream, Object)
.- Specified by:
readProperty
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing at least oneProperty
as written by the accompanyingGraphWriter.writeProperty(OutputStream, Property)
method.propertyAttachMethod
- a function that creates re-attaches aProperty
to aHost
object.- Returns:
- the value returned by the attach method.
- Throws:
IOException
-
readObject
public <C> C readObject(InputStream inputStream, Class<? extends C> clazz) throws IOException
Reads an arbitrary object using the registered serializers.- Specified by:
readObject
in interfaceGraphReader
- Parameters:
inputStream
- a stream containing an object.clazz
- the class expected to be in the stream - may or may not be used by the underlying implementation.- Throws:
IOException
-
build
public static GraphSONReader.Builder build()
-
-