Package com.syncleus.ferma
Class AbstractVertexFrame
java.lang.Object
com.syncleus.ferma.AbstractElementFrame
com.syncleus.ferma.AbstractVertexFrame
- All Implemented Interfaces:
ElementFrame
,VertexFrame
- Direct Known Subclasses:
TVertex
public abstract class AbstractVertexFrame extends AbstractElementFrame implements VertexFrame
The base class that all vertex frames must extend.
-
Constructor Summary
Constructors Constructor Description AbstractVertexFrame()
-
Method Summary
Modifier and Type Method Description TEdge
addFramedEdge(String label, VertexFrame inVertex)
Add an edge using a frame type ofTEdge
.<T> T
addFramedEdge(String label, VertexFrame inVertex, ClassInitializer<T> initializer)
Add an edge using the supplied frame type.<T> T
addFramedEdge(String label, VertexFrame inVertex, Class<T> kind)
Add an edge using the supplied frame type.TEdge
addFramedEdgeExplicit(String label, VertexFrame inVertex)
Add an edge using a frame type ofTEdge
.<T> T
addFramedEdgeExplicit(String label, VertexFrame inVertex, ClassInitializer<T> initializer)
Add an edge using the supplied frame type.<T> T
addFramedEdgeExplicit(String label, VertexFrame inVertex, Class<T> kind)
Add an edge using the supplied frame type.org.apache.tinkerpop.gremlin.structure.Vertex
getElement()
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<? extends org.apache.tinkerpop.gremlin.structure.Vertex,? extends org.apache.tinkerpop.gremlin.structure.Vertex>
getRawTraversal()
void
linkBoth(VertexFrame vertex, String... labels)
Create edges from the supplied vertex to the framed vertex and vice versa with the supplied labelsvoid
linkIn(VertexFrame vertex, String... labels)
Create edges from the supplied vertex to the framed vertex with the supplied labelsvoid
linkOut(VertexFrame vertex, String... labels)
Create edges from the framed vertex to the supplied vertex with the supplied labels<T> T
reframe(Class<T> kind)
Reframe this element as a different type of frame.<T> T
reframeExplicit(Class<T> kind)
Reframe this element as a different type of frame.<K> K
setLinkBoth(ClassInitializer<K> initializer, String... labels)
Remove all edges with the labels and then add edges to/from a new vertex.void
setLinkBoth(VertexFrame vertex, String... labels)
Remove all edges with the labels and then add a edges from the supplied vertex and to the supplied vertex.<K> K
setLinkBoth(Class<K> kind, String... labels)
Remove all edges with the labels and then add edges to/from a new vertex.<K> K
setLinkBothExplicit(ClassInitializer<K> initializer, String... labels)
Remove all edges with the labels and then add edges to/from a new vertex.<K> K
setLinkBothExplicit(Class<K> kind, String... labels)
Remove all edges with the labels and then add edges to/from a new vertex.<K> K
setLinkIn(ClassInitializer<K> initializer, String... labels)
Remove all in edges with the labels and then add a single edge from a new vertex.void
setLinkIn(VertexFrame vertex, String... labels)
Remove all in edges with the labels and then add a single edge from the supplied vertex.<K> K
setLinkIn(Class<K> kind, String... labels)
Remove all in edges with the labels and then add a single edge from a new vertex.<K> K
setLinkInExplicit(ClassInitializer<K> initializer, String... labels)
Remove all in edges with the labels and then add a single edge from a new vertex.<K> K
setLinkInExplicit(Class<K> kind, String... labels)
Remove all in edges with the labels and then add a single edge from a new vertex.<K> K
setLinkOut(ClassInitializer<K> initializer, String... labels)
Remove all out edges with the labels and then add a single edge to a new vertex.void
setLinkOut(VertexFrame vertex, String... labels)
Remove all out edges with the labels and then add a single edge to the supplied vertex.<K> K
setLinkOut(Class<K> kind, String... labels)
Remove all out edges with the labels and then add a single edge to a new vertex.<K> K
setLinkOutExplicit(ClassInitializer<K> initializer, String... labels)
Remove all out edges with the labels and then add a single edge to a new vertex.<K> K
setLinkOutExplicit(Class<K> kind, String... labels)
Remove all out edges with the labels and then add a single edge to a new vertex.com.google.gson.JsonObject
toJson()
Output the vertex as JSON.String
toString()
<T extends Traversable<?, ?>>
Ttraverse(Function<org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<org.apache.tinkerpop.gremlin.structure.Vertex,org.apache.tinkerpop.gremlin.structure.Vertex>,org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<?,?>> traverser)
void
unlinkBoth(VertexFrame vertex, String... labels)
Remove all edges to/from the supplied vertex with the supplied labels.void
unlinkIn(VertexFrame vertex, String... labels)
Remove all in edges to the supplied vertex with the supplied labels.void
unlinkOut(VertexFrame vertex, String... labels)
Remove all out edges to the supplied vertex with the supplied labels.Methods inherited from class com.syncleus.ferma.AbstractElementFrame
equals, getGraph, getId, getProperty, getProperty, getPropertyKeys, getTypeResolution, hashCode, remove, removeTypeResolution, setElement, setProperty, setTypeResolution
Methods inherited from interface com.syncleus.ferma.ElementFrame
getGraph, getId, getProperty, getProperty, getPropertyKeys, getTypeResolution, remove, removeTypeResolution, setElement, setProperty, setTypeResolution
-
Constructor Details
-
AbstractVertexFrame
public AbstractVertexFrame()
-
-
Method Details
-
getElement
public org.apache.tinkerpop.gremlin.structure.Vertex getElement()- Specified by:
getElement
in interfaceElementFrame
- Specified by:
getElement
in interfaceVertexFrame
- Overrides:
getElement
in classAbstractElementFrame
- Returns:
- The underlying element.
-
addFramedEdge
Description copied from interface:VertexFrame
Add an edge using the supplied frame type.- Specified by:
addFramedEdge
in interfaceVertexFrame
- Type Parameters:
T
- The type for the framed edge.- Parameters:
label
- The label for the edgeinVertex
- The vertex to link to.initializer
- the initializer for the frame which defines its type and may initialize properties- Returns:
- The new edge.
-
addFramedEdge
Description copied from interface:VertexFrame
Add an edge using the supplied frame type.- Specified by:
addFramedEdge
in interfaceVertexFrame
- Type Parameters:
T
- The type for the framed edge.- Parameters:
label
- The label for the edgeinVertex
- The vertex to link to.kind
- The kind of frame.- Returns:
- The new edge.
-
addFramedEdgeExplicit
public <T> T addFramedEdgeExplicit(String label, VertexFrame inVertex, ClassInitializer<T> initializer)Description copied from interface:VertexFrame
Add an edge using the supplied frame type. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
addFramedEdgeExplicit
in interfaceVertexFrame
- Type Parameters:
T
- The type for the framed edge.- Parameters:
label
- The label for the edgeinVertex
- The vertex to link to.initializer
- the initializer for the frame which defines its type and may initialize properties- Returns:
- The new edge.
-
addFramedEdgeExplicit
Description copied from interface:VertexFrame
Add an edge using the supplied frame type. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
addFramedEdgeExplicit
in interfaceVertexFrame
- Type Parameters:
T
- The type for the framed edge.- Parameters:
label
- The label for the edgeinVertex
- The vertex to link to.kind
- The kind of frame.- Returns:
- The new edge.
-
addFramedEdge
Description copied from interface:VertexFrame
Add an edge using a frame type ofTEdge
.- Specified by:
addFramedEdge
in interfaceVertexFrame
- Parameters:
label
- The label for the edgeinVertex
- The vertex to link to.- Returns:
- The added edge.
-
addFramedEdgeExplicit
Description copied from interface:VertexFrame
Add an edge using a frame type ofTEdge
. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
addFramedEdgeExplicit
in interfaceVertexFrame
- Parameters:
label
- The label for the edgeinVertex
- The vertex to link to.- Returns:
- The added edge.
-
linkOut
Description copied from interface:VertexFrame
Create edges from the framed vertex to the supplied vertex with the supplied labels- Specified by:
linkOut
in interfaceVertexFrame
- Parameters:
vertex
- The vertex to link to.labels
- The labels for the edges.
-
linkIn
Description copied from interface:VertexFrame
Create edges from the supplied vertex to the framed vertex with the supplied labels- Specified by:
linkIn
in interfaceVertexFrame
- Parameters:
vertex
- The vertex to link from.labels
- The labels for the edges.
-
linkBoth
Description copied from interface:VertexFrame
Create edges from the supplied vertex to the framed vertex and vice versa with the supplied labels- Specified by:
linkBoth
in interfaceVertexFrame
- Parameters:
vertex
- The vertex to link to and from.labels
- The labels for the edges.
-
unlinkOut
Description copied from interface:VertexFrame
Remove all out edges to the supplied vertex with the supplied labels.- Specified by:
unlinkOut
in interfaceVertexFrame
- Parameters:
vertex
- The vertex to removed the edges to.labels
- The labels of the edges.
-
unlinkIn
Description copied from interface:VertexFrame
Remove all in edges to the supplied vertex with the supplied labels.- Specified by:
unlinkIn
in interfaceVertexFrame
- Parameters:
vertex
- The vertex to removed the edges from.labels
- The labels of the edges.
-
unlinkBoth
Description copied from interface:VertexFrame
Remove all edges to/from the supplied vertex with the supplied labels.- Specified by:
unlinkBoth
in interfaceVertexFrame
- Parameters:
vertex
- The vertex to removed the edges to/from.labels
- The labels of the edges.
-
setLinkOut
Description copied from interface:VertexFrame
Remove all out edges with the labels and then add a single edge to the supplied vertex.- Specified by:
setLinkOut
in interfaceVertexFrame
- Parameters:
vertex
- the vertex to link to.labels
- The labels of the edges.
-
setLinkIn
Description copied from interface:VertexFrame
Remove all in edges with the labels and then add a single edge from the supplied vertex.- Specified by:
setLinkIn
in interfaceVertexFrame
- Parameters:
vertex
- the vertex to link from.labels
- The labels of the edges.
-
setLinkBoth
Description copied from interface:VertexFrame
Remove all edges with the labels and then add a edges from the supplied vertex and to the supplied vertex.- Specified by:
setLinkBoth
in interfaceVertexFrame
- Parameters:
vertex
- the vertex to link from.labels
- The labels of the edges.
-
setLinkOut
Description copied from interface:VertexFrame
Remove all out edges with the labels and then add a single edge to a new vertex.- Specified by:
setLinkOut
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
initializer
- the initializer for the frame which defines its type and may initialize propertieslabels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkOut
Description copied from interface:VertexFrame
Remove all out edges with the labels and then add a single edge to a new vertex.- Specified by:
setLinkOut
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
kind
- The kind of frame.labels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkOutExplicit
Description copied from interface:VertexFrame
Remove all out edges with the labels and then add a single edge to a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
setLinkOutExplicit
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
initializer
- the initializer for the frame which defines its type and may initialize propertieslabels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkOutExplicit
Description copied from interface:VertexFrame
Remove all out edges with the labels and then add a single edge to a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
setLinkOutExplicit
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
kind
- The kind of frame.labels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkIn
Description copied from interface:VertexFrame
Remove all in edges with the labels and then add a single edge from a new vertex.- Specified by:
setLinkIn
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
initializer
- the initializer for the frame which defines its type and may initialize propertieslabels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkIn
Description copied from interface:VertexFrame
Remove all in edges with the labels and then add a single edge from a new vertex.- Specified by:
setLinkIn
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
kind
- The kind of frame.labels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkInExplicit
Description copied from interface:VertexFrame
Remove all in edges with the labels and then add a single edge from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
setLinkInExplicit
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
initializer
- the initializer for the frame which defines its type and may initialize propertieslabels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkInExplicit
Description copied from interface:VertexFrame
Remove all in edges with the labels and then add a single edge from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
setLinkInExplicit
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
kind
- The kind of frame.labels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkBoth
Description copied from interface:VertexFrame
Remove all edges with the labels and then add edges to/from a new vertex.- Specified by:
setLinkBoth
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
initializer
- the initializer for the frame which defines its type and may initialize propertieslabels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkBoth
Description copied from interface:VertexFrame
Remove all edges with the labels and then add edges to/from a new vertex.- Specified by:
setLinkBoth
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
kind
- The kind of frame.labels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkBothExplicit
Description copied from interface:VertexFrame
Remove all edges with the labels and then add edges to/from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
setLinkBothExplicit
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
initializer
- the initializer for the frame which defines its type and may initialize propertieslabels
- The labels of the edges.- Returns:
- The newly created edge.
-
setLinkBothExplicit
Description copied from interface:VertexFrame
Remove all edges with the labels and then add edges to/from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
setLinkBothExplicit
in interfaceVertexFrame
- Type Parameters:
K
- The type used to frame the edge.- Parameters:
kind
- The kind of frame.labels
- The labels of the edges.- Returns:
- The newly created edge.
-
toJson
public com.google.gson.JsonObject toJson()Description copied from interface:VertexFrame
Output the vertex as JSON.- Specified by:
toJson
in interfaceVertexFrame
- Returns:
- A JsonObject representing this frame.
-
toString
- Overrides:
toString
in classAbstractElementFrame
-
reframe
Description copied from interface:VertexFrame
Reframe this element as a different type of frame.- Specified by:
reframe
in interfaceVertexFrame
- Type Parameters:
T
- The type used to frame the element.- Parameters:
kind
- The new kind of frame.- Returns:
- The new frame
-
reframeExplicit
Description copied from interface:VertexFrame
Reframe this element as a different type of frame. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.- Specified by:
reframeExplicit
in interfaceVertexFrame
- Type Parameters:
T
- The type used to frame the element.- Parameters:
kind
- The new kind of frame.- Returns:
- The new frame
-
traverse
public <T extends Traversable<?, ?>> T traverse(Function<org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<org.apache.tinkerpop.gremlin.structure.Vertex,org.apache.tinkerpop.gremlin.structure.Vertex>,org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<?,?>> traverser)- Specified by:
traverse
in interfaceVertexFrame
-
getRawTraversal
public org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<? extends org.apache.tinkerpop.gremlin.structure.Vertex,? extends org.apache.tinkerpop.gremlin.structure.Vertex> getRawTraversal()- Specified by:
getRawTraversal
in interfaceVertexFrame
-