org.apache.tinkerpop.gremlin.tinkergraph.structure

## Class TinkerGraph.TinkerGraphEdgeFeatures

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

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

      public class TinkerGraph.TinkerGraphEdgeFeatures
      extends Object
      implements Graph.Features.EdgeFeatures

- - ### Field Summary

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

      `FEATURE_ADD_EDGES, FEATURE_REMOVE_EDGES, FEATURE_UPSERT`

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

      `FEATURE_ADD_PROPERTY, FEATURE_ANY_IDS, FEATURE_CUSTOM_IDS, FEATURE_NULL_PROPERTY_VALUES, 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
    --- | ---
    `boolean` | `supportsCustomIds()` Determines if an `Element` has a specific custom object as their internal representation.
    `boolean` | `supportsNullPropertyValues()` Determines if an `Element` allows properties with `null` property values.
    `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.EdgeFeatures

      `properties, supportsAddEdges, supportsRemoveEdges, supportsUpsert`

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

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

- - ### Method Detail

    - #### supportsNullPropertyValues

          public boolean supportsNullPropertyValues()

      Description copied from interface: `Graph.Features.ElementFeatures`
      Determines if an `Element` allows properties with `null` property values. In the event that this value is `false`, the underlying graph must treat `null` as an indication to remove the property.
      Specified by:
        `supportsNullPropertyValues` in interface `Graph.Features.ElementFeatures`

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

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