Interface Attachable<V>

All Known Subinterfaces:
NL_SL_Traverser<T>, RemoteTraverser<T>, Traverser.Admin<T>
All Known Implementing Classes:
AbstractRemoteTraverser, AbstractTraverser, B_LP_NL_O_P_S_SE_SL_Traverser, B_LP_NL_O_S_SE_SL_Traverser, B_LP_O_P_S_SE_SL_Traverser, B_LP_O_S_SE_SL_Traverser, B_NL_O_S_SE_SL_Traverser, B_O_S_SE_SL_Traverser, B_O_Traverser, DefaultRemoteTraverser, DetachedEdge, DetachedElement, DetachedPath, DetachedProperty, DetachedVertex, DetachedVertexProperty, DummyTraverser, EmptyTraverser, LP_NL_O_OB_P_S_SE_SL_Traverser, LP_NL_O_OB_S_SE_SL_Traverser, LP_O_OB_P_S_SE_SL_Traverser, LP_O_OB_S_SE_SL_Traverser, NL_O_OB_S_SE_SL_Traverser, O_OB_S_SE_SL_Traverser, O_Traverser, ProjectedTraverser, ReferenceEdge, ReferenceElement, ReferencePath, ReferenceProperty, ReferenceVertex, ReferenceVertexProperty, StarGraph.StarEdge, StarGraph.StarElement, StarGraph.StarInEdge, StarGraph.StarOutEdge, StarGraph.StarProperty, StarGraph.StarVertex, StarGraph.StarVertexProperty

public interface Attachable<V>
An interface that provides methods for detached properties and elements to be re-attached to the Graph. There are two general ways in which they can be attached: Attachable.Method.get(org.apache.tinkerpop.gremlin.structure.util.Host) or Attachable.Method.create(org.apache.tinkerpop.gremlin.structure.util.Host). A Attachable.Method.get(org.apache.tinkerpop.gremlin.structure.util.Host) will find the property/element at the host location and return it. A Attachable.Method.create(org.apache.tinkerpop.gremlin.structure.util.Host) will create the property/element at the host location and return it.
Author:
Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com)
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
     
    static class 
    A collection of general methods of attachment.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.slf4j.Logger
     
  • Method Summary

    Modifier and Type
    Method
    Description
    default V
    Provide a way to attach an Attachable implementation to a host.
    get()
    Get the raw object trying to be attached.
  • Field Details

    • logger

      static final org.slf4j.Logger logger
  • Method Details

    • get

      V get()
      Get the raw object trying to be attached.
      Returns:
      the raw object to attach
    • attach

      default V attach(Function<Attachable<V>,V> method) throws IllegalStateException
      Provide a way to attach an Attachable implementation to a host. Note that the context of the host is not defined by way of the attachment method itself that is supplied as an argument. It is up to the implementer to supply that context.
      Parameters:
      method - a Function that takes an Attachable and returns the "re-attached" object
      Returns:
      the return value of the method
      Throws:
      IllegalStateException - if the Attachable is not a "graph" object (i.e. host or attachable don't work together)