Class DetachedVertex
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.structure.util.detached.DetachedElement<Vertex>
-
- org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex
-
- All Implemented Interfaces:
Serializable
,Element
,Attachable<Vertex>
,Host
,Vertex
public class DetachedVertex extends DetachedElement<Vertex> implements Vertex
Represents aVertex
that is disconnected from aGraph
. "Disconnection" can mean detachment from aGraph
in the sense that aVertex
was constructed from aGraph
instance and this reference was removed or it can mean that theDetachedVertex
could have been constructed independently of aGraph
instance in the first place. ADetachedVertex
only has reference to the properties that are associated with it at the time of detachment (or construction) and is not traversable or mutable.- Author:
- Stephen Mallette (http://stephen.genoprime.com), Marko A. Rodriguez (http://markorodriguez.com)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DetachedVertex.Builder
-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.util.Attachable
Attachable.Exceptions, Attachable.Method
-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.Element
Element.Exceptions
-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.Vertex
Vertex.Exceptions
-
-
Field Summary
-
Fields inherited from class org.apache.tinkerpop.gremlin.structure.util.detached.DetachedElement
id, label, properties
-
Fields inherited from interface org.apache.tinkerpop.gremlin.structure.Vertex
DEFAULT_LABEL, EMPTY_ARGS
-
-
Constructor Summary
Constructors Modifier Constructor Description DetachedVertex(Object id, String label, Map<String,Object> properties)
protected
DetachedVertex(Vertex vertex, boolean withProperties)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Edge
addEdge(String label, Vertex inVertex, Object... keyValues)
Add an outgoing edge to the vertex with provided label and edge properties as key/value pairs.static DetachedVertex.Builder
build()
Provides a way to construct an immutableDetachedVertex
.Iterator<Edge>
edges(Direction direction, String... edgeLabels)
Gets anIterator
of incident edges.<V> Iterator<VertexProperty<V>>
properties(String... propertyKeys)
Get anIterator
of properties where thepropertyKeys
is meant to be a filter on the available keys.<V> VertexProperty<V>
property(String key)
Get aProperty
for theElement
given its key.<V> VertexProperty<V>
property(String key, V value)
Add or set a property value for theElement
given its key.<V> VertexProperty<V>
property(String key, V value, Object... keyValues)
Set the provided key to the provided value using defaultVertexProperty.Cardinality
for that key.<V> VertexProperty<V>
property(VertexProperty.Cardinality cardinality, String key, V value, Object... keyValues)
Create a new vertex property.void
remove()
Removes theElement
from the graph.String
toString()
Iterator<Vertex>
vertices(Direction direction, String... labels)
Gets anIterator
of adjacent vertices.-
Methods inherited from class org.apache.tinkerpop.gremlin.structure.util.detached.DetachedElement
equals, get, graph, hashCode, id, label
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tinkerpop.gremlin.structure.util.Attachable
attach
-
-
-
-
Method Detail
-
property
public <V> VertexProperty<V> property(String key, V value)
Description copied from interface:Element
Add or set a property value for theElement
given its key.- Specified by:
property
in interfaceElement
- Specified by:
property
in interfaceVertex
- Overrides:
property
in classDetachedElement<Vertex>
- Type Parameters:
V
- the type of the value of the vertex property- Parameters:
key
- the key of the vertex propertyvalue
- The value of the vertex property- Returns:
- the newly created vertex property
-
property
public <V> VertexProperty<V> property(String key, V value, Object... keyValues)
Description copied from interface:Vertex
Set the provided key to the provided value using defaultVertexProperty.Cardinality
for that key. The default cardinality can be vendor defined and is usually tied to the graph schema. The default implementation of this method determines the cardinalitygraph().features().vertex().getCardinality(key)
. The provided key/values are the properties of the newly createdVertexProperty
. These key/values must be provided in an even number where the odd numbered arguments areString
.- Specified by:
property
in interfaceVertex
- Type Parameters:
V
- the type of the value of the vertex property- Parameters:
key
- the key of the vertex propertyvalue
- The value of the vertex propertykeyValues
- the key/value pairs to turn into vertex property properties- Returns:
- the newly created vertex property
-
property
public <V> VertexProperty<V> property(VertexProperty.Cardinality cardinality, String key, V value, Object... keyValues)
Description copied from interface:Vertex
Create a new vertex property. If the cardinality isVertexProperty.Cardinality.single
, then set the key to the value. If the cardinality isVertexProperty.Cardinality.list
, then add a new value to the key. If the cardinality isVertexProperty.Cardinality.set
, then only add a new value if that value doesn't already exist for the key. If the value already exists for the key, add the provided key value vertex property properties to it.- Specified by:
property
in interfaceVertex
- Type Parameters:
V
- the type of the value of the vertex property- Parameters:
cardinality
- the desired cardinality of the property keykey
- the key of the vertex propertyvalue
- The value of the vertex propertykeyValues
- the key/value pairs to turn into vertex property properties- Returns:
- the newly created vertex property
-
property
public <V> VertexProperty<V> property(String key)
Description copied from interface:Element
Get aProperty
for theElement
given its key. The default implementation calls the rawElement.properties(java.lang.String...)
.- Specified by:
property
in interfaceElement
- Specified by:
property
in interfaceVertex
- Overrides:
property
in classDetachedElement<Vertex>
- Type Parameters:
V
- the expected type of the vertex property value- Parameters:
key
- the key of the vertex property to get- Returns:
- the retrieved vertex property
-
addEdge
public Edge addEdge(String label, Vertex inVertex, Object... keyValues)
Description copied from interface:Vertex
Add an outgoing edge to the vertex with provided label and edge properties as key/value pairs. These key/values must be provided in an even number where the odd numbered arguments areString
property keys and the even numbered arguments are the related property values.
-
properties
public <V> Iterator<VertexProperty<V>> properties(String... propertyKeys)
Description copied from interface:Element
Get anIterator
of properties where thepropertyKeys
is meant to be a filter on the available keys. If no keys are provide then return all the properties.- Specified by:
properties
in interfaceElement
- Specified by:
properties
in interfaceVertex
- Overrides:
properties
in classDetachedElement<Vertex>
-
edges
public Iterator<Edge> edges(Direction direction, String... edgeLabels)
Description copied from interface:Vertex
Gets anIterator
of incident edges.
-
vertices
public Iterator<Vertex> vertices(Direction direction, String... labels)
Description copied from interface:Vertex
Gets anIterator
of adjacent vertices.- Specified by:
vertices
in interfaceVertex
- Parameters:
direction
- The adjacency direction of the vertices to retrieve off this vertexlabels
- The labels of the edges associated with the vertices to retrieve. If no labels are provided, then get all edges.- Returns:
- An iterator of vertices meeting the provided specification
-
remove
public void remove()
Description copied from interface:Element
Removes theElement
from the graph.
-
build
public static DetachedVertex.Builder build()
Provides a way to construct an immutableDetachedVertex
.
-
-