org.apache.tinkerpop.gremlin.structure

## Interface Graph.Features.VertexPropertyFeatures

- All Superinterfaces:
    Graph.Features.DataTypeFeatures, Graph.Features.FeatureSet, Graph.Features.PropertyFeatures
  All Known Implementing Classes:
    EmptyGraph.EmptyGraphFeatures.EmptyGraphVertexPropertyFeatures, Neo4jGraph.Neo4jGraphFeatures.Neo4jVertexPropertyFeatures, TinkerGraph.TinkerGraphVertexPropertyFeatures
  Enclosing interface:
    Graph.Features

      public static interface Graph.Features.VertexPropertyFeatures
      extends Graph.Features.PropertyFeatures

  Features that are related to `Vertex` `Property` objects.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FEATURE_ANY_IDS`
    `static String` | `FEATURE_CUSTOM_IDS`
    `static String` | `FEATURE_NUMERIC_IDS`
    `static String` | `FEATURE_REMOVE_PROPERTY`
    `static String` | `FEATURE_STRING_IDS`
    `static String` | `FEATURE_USER_SUPPLIED_IDS`
    `static String` | `FEATURE_UUID_IDS`

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

      `FEATURE_PROPERTIES`

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

      `FEATURE_BOOLEAN_ARRAY_VALUES, FEATURE_BOOLEAN_VALUES, FEATURE_BYTE_ARRAY_VALUES, FEATURE_BYTE_VALUES, FEATURE_DOUBLE_ARRAY_VALUES, FEATURE_DOUBLE_VALUES, FEATURE_FLOAT_ARRAY_VALUES, FEATURE_FLOAT_VALUES, FEATURE_INTEGER_ARRAY_VALUES, FEATURE_INTEGER_VALUES, FEATURE_LONG_ARRAY_VALUES, FEATURE_LONG_VALUES, FEATURE_MAP_VALUES, FEATURE_MIXED_LIST_VALUES, FEATURE_SERIALIZABLE_VALUES, FEATURE_STRING_ARRAY_VALUES, FEATURE_STRING_VALUES, FEATURE_UNIFORM_LIST_VALUES`

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default boolean` | `supportsAnyIds()` Determines if an `VertexProperty` any Java object is a suitable identifier.
    `default boolean` | `supportsCustomIds()` Determines if an `VertexProperty` has a specific custom object as their internal representation.
    `default boolean` | `supportsNumericIds()` Determines if an `VertexProperty` has numeric identifiers as their internal representation.
    `default boolean` | `supportsRemoveProperty()` Determines if a `VertexProperty` allows properties to be removed.
    `default boolean` | `supportsStringIds()` Determines if an `VertexProperty` has string identifiers as their internal representation.
    `default boolean` | `supportsUserSuppliedIds()` Determines if a `VertexProperty` allows an identifier to be assigned to it.
    `default boolean` | `supportsUuidIds()` Determines if an `VertexProperty` has UUID identifiers as their internal representation.
    `default boolean` | `willAllowId(Object id)` Determines if an identifier will be accepted by the `Graph`.

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

      `supportsProperties`

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

      `supportsBooleanArrayValues, supportsBooleanValues, supportsByteArrayValues, supportsByteValues, supportsDoubleArrayValues, supportsDoubleValues, supportsFloatArrayValues, supportsFloatValues, supportsIntegerArrayValues, supportsIntegerValues, supportsLongArrayValues, supportsLongValues, supportsMapValues, supportsMixedListValues, supportsSerializableValues, supportsStringArrayValues, supportsStringValues, supportsUniformListValues`

- - ### Field Detail

    - #### FEATURE_REMOVE_PROPERTY

          static final String FEATURE_REMOVE_PROPERTY

      See Also:
        Constant Field Values

    - #### FEATURE_USER_SUPPLIED_IDS

          static final String FEATURE_USER_SUPPLIED_IDS

      See Also:
        Constant Field Values

    - #### FEATURE_NUMERIC_IDS

          static final String FEATURE_NUMERIC_IDS

      See Also:
        Constant Field Values

    - #### FEATURE_STRING_IDS

          static final String FEATURE_STRING_IDS

      See Also:
        Constant Field Values

    - #### FEATURE_UUID_IDS

          static final String FEATURE_UUID_IDS

      See Also:
        Constant Field Values

    - #### FEATURE_CUSTOM_IDS

          static final String FEATURE_CUSTOM_IDS

      See Also:
        Constant Field Values

    - #### FEATURE_ANY_IDS

          static final String FEATURE_ANY_IDS

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### supportsRemoveProperty

          default boolean supportsRemoveProperty()

      Determines if a `VertexProperty` allows properties to be removed.

    - #### supportsUserSuppliedIds

          default boolean supportsUserSuppliedIds()

      Determines if a `VertexProperty` allows an identifier to be assigned to it.

    - #### supportsNumericIds

          default boolean supportsNumericIds()

      Determines if an `VertexProperty` has numeric identifiers as their internal representation.

    - #### supportsStringIds

          default boolean supportsStringIds()

      Determines if an `VertexProperty` has string identifiers as their internal representation.

    - #### supportsUuidIds

          default boolean supportsUuidIds()

      Determines if an `VertexProperty` has UUID identifiers as their internal representation.

    - #### supportsCustomIds

          default boolean supportsCustomIds()

      Determines if an `VertexProperty` has a specific custom object as their internal representation.

    - #### supportsAnyIds

          default boolean supportsAnyIds()

      Determines if an `VertexProperty` any Java object is a suitable identifier. Note that this setting can only return true if `supportsUserSuppliedIds()` is true.

    - #### willAllowId

          default boolean willAllowId(Object id)

      Determines if an identifier will be accepted by the `Graph`. This check is different than what identifier internally supports as defined in methods like `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 `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 `supportsUserSuppliedIds()` is `false`. If custom identifiers are supported then it will throw an exception. Those that return `true` for `supportsCustomIds()` should override this method. If `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.

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