public final class GraphSONWriter extends Object implements GraphWriter
Map
objects do not support complex types for keys. Edge
and
Vertex
objects are serialized to Map
instances. If an
Element
is used as a key, it is coerced to its identifier. Other complex
objects are converted via Object.toString()
unless a mapper serializer is supplied.Modifier and Type | Class and Description |
---|---|
static class |
GraphSONWriter.Builder |
GraphWriter.WriterBuilder<T extends GraphWriter>
Modifier and Type | Method and Description |
---|---|
static GraphSONWriter.Builder |
build() |
void |
writeEdge(OutputStream outputStream,
Edge e)
Writes an
Edge object to the stream. |
void |
writeGraph(OutputStream outputStream,
Graph g)
Writes a
Graph to stream in an adjacency list format where vertices are written with edges from both
directions. |
void |
writeObject(OutputStream outputStream,
Object object)
Writes an arbitrary object to the stream.
|
void |
writeProperty(OutputStream outputStream,
Property p)
Write a
Property object to the stream. |
void |
writeVertex(OutputStream outputStream,
Vertex v)
Writes a single
Vertex with no edges serialized. |
void |
writeVertex(OutputStream outputStream,
Vertex v,
Direction direction)
Writes a single
Vertex to stream where edges only from the specified direction are written. |
void |
writeVertexProperty(OutputStream outputStream,
VertexProperty vp)
Write a
VertexProperty object to the stream. |
void |
writeVertices(OutputStream outputStream,
Iterator<Vertex> vertexIterator)
Writes a list of vertices without edges.
|
void |
writeVertices(OutputStream outputStream,
Iterator<Vertex> vertexIterator,
Direction direction)
Writes a list of vertices in adjacency list format where vertices are written with edges from both
directions.
|
public void writeGraph(OutputStream outputStream, Graph g) throws IOException
Graph
to stream in an adjacency list format where vertices are written with edges from both
directions. Under this serialization model, edges are grouped by label.writeGraph
in interface GraphWriter
outputStream
- the stream to write to.g
- the graph to write to stream.IOException
public void writeVertex(OutputStream outputStream, Vertex v, Direction direction) throws IOException
Vertex
to stream where edges only from the specified direction are written.
Under this serialization model, edges are grouped by label.writeVertex
in interface GraphWriter
direction
- the direction of edges to write or null if no edges are to be written.outputStream
- the stream to write to.v
- the vertex to write.IOException
public void writeVertex(OutputStream outputStream, Vertex v) throws IOException
Vertex
with no edges serialized.writeVertex
in interface GraphWriter
outputStream
- the stream to write to.v
- the vertex to write.IOException
public void writeVertices(OutputStream outputStream, Iterator<Vertex> vertexIterator, Direction direction) throws IOException
writeVertices
in interface GraphWriter
outputStream
- the stream to write to.vertexIterator
- a traversal that returns a list of vertices.direction
- if direction is null then no edges are written.IOException
public void writeVertices(OutputStream outputStream, Iterator<Vertex> vertexIterator) throws IOException
writeVertices
in interface GraphWriter
outputStream
- the stream to write to.vertexIterator
- a iterator that returns a list of vertices.IOException
public void writeEdge(OutputStream outputStream, Edge e) throws IOException
Edge
object to the stream. Note that this format is different from the format of an
Edge
when serialized with a Vertex
as done with
writeVertex(OutputStream, Vertex, Direction)
or
writeVertices(OutputStream, Iterator, Direction)
in that the edge label is part of the object and
vertex labels are included with their identifiers.writeEdge
in interface GraphWriter
outputStream
- the stream to write to.e
- the edge to write.IOException
public void writeVertexProperty(OutputStream outputStream, VertexProperty vp) throws IOException
VertexProperty
object to the stream.writeVertexProperty
in interface GraphWriter
outputStream
- the stream to write to.vp
- the vertex property to write.IOException
public void writeProperty(OutputStream outputStream, Property p) throws IOException
Property
object to the stream.writeProperty
in interface GraphWriter
outputStream
- the stream to write to.p
- the property to write.IOException
public void writeObject(OutputStream outputStream, Object object) throws IOException
Vertex
will be somewhat different from the format supplied
when using writeVertex(OutputStream, Vertex, Direction)
. For example, edges will never be included.writeObject
in interface GraphWriter
outputStream
- the stream to write toobject
- the object to write which will use the standard serializer setIOException
public static GraphSONWriter.Builder build()
Copyright © 2013–2022 Apache Software Foundation. All rights reserved.