org.apache.tinkerpop.gremlin.tinkergraph.structure

## Class TinkerGraph.TinkerGraphVertexFeatures

- java.lang.Object
- - org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph.TinkerGraphVertexFeatures

- All Implemented Interfaces:
    Graph.Features.ElementFeatures, Graph.Features.FeatureSet, Graph.Features.VertexFeatures
  Enclosing class:
    TinkerGraph

      public class TinkerGraph.TinkerGraphVertexFeatures
      extends Object
      implements Graph.Features.VertexFeatures

- - ### Property Summary

    - ### Properties inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `supportsAddProperty, supportsRemoveProperty`

  - ### Field Summary

    - ### Fields inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.VertexFeatures

      `FEATURE_ADD_VERTICES, FEATURE_DUPLICATE_MULTI_PROPERTIES, FEATURE_META_PROPERTIES, FEATURE_MULTI_PROPERTIES, FEATURE_REMOVE_VERTICES, FEATURE_UPSERT`

    - ### Fields inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `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`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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`.

    - ### 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.Graph.Features.VertexFeatures

      `supportsAddVertices, supportsDuplicateMultiProperties, supportsMetaProperties, supportsMultiProperties, supportsRemoveVertices, supportsUpsert`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `supportsAddProperty, supportsAnyIds, supportsNumericIds, supportsRemoveProperty, supportsStringIds, supportsUserSuppliedIds, supportsUuidIds`

- - ### Method Detail

    - #### properties

          public Graph.Features.VertexPropertyFeatures properties()

      Description copied from interface: `Graph.Features.VertexFeatures`
      Gets features related to "properties" on a `Vertex`.
      Specified by:
        `properties` in interface `Graph.Features.VertexFeatures`

    - #### supportsCustomIds

          public boolean supportsCustomIds()

      Description copied from interface: `Graph.Features.ElementFeatures`
      Determines if an `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.
      Specified by:
        `supportsCustomIds` in interface `Graph.Features.ElementFeatures`

    - #### willAllowId

          public boolean willAllowId(Object id)

      Description copied from interface: `Graph.Features.ElementFeatures`
      Determines if an identifier will be accepted by the `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.
      Specified by:
        `willAllowId` in interface `Graph.Features.ElementFeatures`

    - #### getCardinality

          public VertexProperty.Cardinality getCardinality(String key)

      Description copied from interface: `Graph.Features.VertexFeatures`
      Gets the `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.
      Specified by:
        `getCardinality` in interface `Graph.Features.VertexFeatures`

Copyright © 2013–2019 Apache Software Foundation. All rights reserved.