public class TinkerGraph.TinkerGraphVertexFeatures extends Object implements Graph.Features.VertexFeatures
FEATURE_ADD_VERTICES, FEATURE_DUPLICATE_MULTI_PROPERTIES, FEATURE_META_PROPERTIES, FEATURE_MULTI_PROPERTIES, FEATURE_REMOVE_VERTICES, FEATURE_UPSERT
FEATURE_ADD_PROPERTY, FEATURE_ANY_IDS, FEATURE_CUSTOM_IDS, FEATURE_NUMERIC_IDS, FEATURE_REMOVE_PROPERTY, FEATURE_STRING_IDS, FEATURE_USER_SUPPLIED_IDS, FEATURE_UUID_IDS
Modifier and Type | Method and Description |
---|---|
VertexProperty.Cardinality |
getCardinality(String key)
Gets the
VertexProperty.Cardinality for a key. |
Graph.Features.VertexPropertyFeatures |
properties()
Gets features related to "properties" on a
Vertex . |
boolean |
supportsCustomIds()
Determines if an
Element has a specific custom object as their internal representation. |
boolean |
willAllowId(Object id)
Determines if an identifier will be accepted by the
Graph . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
supportsAddVertices, supportsDuplicateMultiProperties, supportsMetaProperties, supportsMultiProperties, supportsRemoveVertices, supportsUpsert
supportsAddProperty, supportsAnyIds, supportsNumericIds, supportsRemoveProperty, supportsStringIds, supportsUserSuppliedIds, supportsUuidIds
public Graph.Features.VertexPropertyFeatures properties()
Graph.Features.VertexFeatures
Vertex
.properties
in interface Graph.Features.VertexFeatures
public boolean supportsCustomIds()
Graph.Features.ElementFeatures
Element
has a specific custom object as their internal representation.
In other words, if the value returned from Element.id()
is a type defined by the graph
implementations, such as OrientDB's Rid
, then this method should be return true
.
Note that this feature is most generally used for determining the appropriate tests to execute in the
Gremlin Test Suite.supportsCustomIds
in interface Graph.Features.ElementFeatures
public boolean willAllowId(Object id)
Graph.Features.ElementFeatures
Graph
. This check is different than
what identifier internally supports as defined in methods like Graph.Features.ElementFeatures.supportsNumericIds()
. Those
refer to internal representation of the identifier. A Graph
may accept an identifier that
is not of those types and internally transform it to a native representation.
Note that this method only applies if Graph.Features.ElementFeatures.supportsUserSuppliedIds()
is true
. Those that
return false
for that method can immediately return false for this one as it allows no ids
of any type (it generates them all).
The default implementation will immediately return false
if Graph.Features.ElementFeatures.supportsUserSuppliedIds()
is false
. If custom identifiers are supported then it will throw an exception. Those that
return true
for Graph.Features.ElementFeatures.supportsCustomIds()
should override this method. If
Graph.Features.ElementFeatures.supportsAnyIds()
is true
then the identifier will immediately be allowed. Finally,
if any of the other types are supported, they will be typed checked against the class of the supplied
identifier.willAllowId
in interface Graph.Features.ElementFeatures
public VertexProperty.Cardinality getCardinality(String key)
Graph.Features.VertexFeatures
VertexProperty.Cardinality
for a key. By default, this method will return
VertexProperty.Cardinality.list
. Implementations that employ a schema can consult it to
determine the VertexProperty.Cardinality
. Those that do no have a schema can return their
default VertexProperty.Cardinality
for every key.
Note that this method is primarily used by TinkerPop for internal usage and may not be suitable to
reliably determine the cardinality of a key. For some implementation it may offer little more than a
hint on the actual cardinality. Generally speaking it is likely best to drop down to the API of the
Graph
implementation for any schema related queries.getCardinality
in interface Graph.Features.VertexFeatures
Copyright © 2013–2022 Apache Software Foundation. All rights reserved.