Class Ref<T extends ToNode>

  • All Implemented Interfaces:
    ToNode

    public abstract class Ref<T extends ToNode>
    extends java.lang.Object
    implements ToNode
    • Constructor Summary

      Constructors 
      Constructor Description
      Ref()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract T deref​(ComponentsObject components)
      Dereferences the value stored in a ref.
      abstract java.util.Optional<java.lang.String> getPointer()
      Gets the JSON pointer to the component.
      static <T extends ToNode>
      Ref<T>
      local​(T value)
      Creates a local ref to a value that is inlined.
      static <T extends ToNode>
      Ref<T>
      remote​(java.lang.String pointer)
      Creates a remote reference using a JSON pointer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface software.amazon.smithy.model.node.ToNode

        toNode
    • Constructor Detail

      • Ref

        public Ref()
    • Method Detail

      • deref

        public abstract T deref​(ComponentsObject components)
        Dereferences the value stored in a ref.
        Parameters:
        components - Components object to query for pointers.
        Returns:
        Returns the dereferenced value.
      • getPointer

        public abstract java.util.Optional<java.lang.String> getPointer()
        Gets the JSON pointer to the component.

        The return value is empty if this is an inline component.

        Returns:
        Returns the optional pointer.
      • remote

        public static <T extends ToNodeRef<T> remote​(java.lang.String pointer)
        Creates a remote reference using a JSON pointer.
        Type Parameters:
        T - Type of value being created.
        Parameters:
        pointer - Pointer to the actual value.
        Returns:
        Returns the created Ref.
      • local

        public static <T extends ToNodeRef<T> local​(T value)
        Creates a local ref to a value that is inlined.
        Type Parameters:
        T - Type of value that is inlined.
        Parameters:
        value - Inline value.
        Returns:
        Returns the created Ref.