Interface NodePath

All Superinterfaces:
Iterable<Object>

public interface NodePath extends Iterable<Object>
Represents the path to a given node.
Since:
4.0.0
  • Method Details

    • of

      static NodePath of(Object[] path)
      Create a node path reference.
      Parameters:
      path - the path to reference. The provided array will be copied.
      Returns:
      the path instance
      Since:
      4.0.0
    • of

      static NodePath of(Collection<?> path)
      Create a node path reference.
      Parameters:
      path - a collection containing elements of the path to reference
      Returns:
      the path instance
      Since:
      4.0.0
    • path

      static NodePath path(Object... elements)
      Create a node path reference.

      This overload takes varargs, and is designed to be imported statically to create paths.

      Parameters:
      elements - the path to reference. The provided array will be copied.
      Returns:
      the path instance
      Since:
      4.0.0
    • path

      static NodePath path()
      Get an empty node path. This refers to the root node.
      Returns:
      the empty path
      Since:
      4.0.0
    • get

      Object get(int i)
      Gets a specific element from the path array.
      Parameters:
      i - the index to get
      Returns:
      object at the index
      Since:
      4.0.0
    • size

      int size()
      Gets the length of the path.
      Returns:
      length of the path array
      Since:
      4.0.0
    • array

      Returns a copy of the original path array.
      Returns:
      the copied array
      Since:
      4.0.0
    • withAppendedChild

      Create a new path with the provided element appended to the end.
      Parameters:
      childKey - the new key to append
      Returns:
      a new path object reflecting the extended path
      Since:
      4.0.0
    • with

      NodePath with(int index, Object value) throws IndexOutOfBoundsException
      Create a new path with the value at index replaced with value.
      Parameters:
      index - position to change
      value - value to insert
      Returns:
      new path object with changed value
      Throws:
      IndexOutOfBoundsException - if index < 0 or ≥ size()
      Since:
      4.0.0
    • plus

      Create a new path from the combination of this and other.
      Parameters:
      other - the path to append
      Returns:
      a new path, containing the elements of this path followed by the elements of other.
      Since:
      4.1.0
    • iterator

      Returns an iterator over the path.
      Specified by:
      iterator in interface Iterable<Object>
      Returns:
      an iterator of the path elements
      Since:
      4.0.0
    • copy

      Create a new node path with the same data as this path.
      Returns:
      a new path
      Since:
      4.0.0