Class NodePath

java.lang.Object
com.networknt.schema.path.NodePath
All Implemented Interfaces:
Path, Comparable<NodePath>

public class NodePath extends Object implements Comparable<NodePath>, Path
Represents a path to a JSON node.
  • Constructor Details

    • NodePath

      public NodePath(PathType type)
  • Method Details

    • getParent

      public NodePath getParent()
      Returns the parent path, or null if this path does not have a parent.
      Returns:
      the parent
    • append

      public NodePath append(String token)
      Append the child token to the path.
      Parameters:
      token - the child token
      Returns:
      the path
    • append

      public NodePath append(int index)
      Append the index to the path.
      Parameters:
      index - the index
      Returns:
      the path
    • getPathType

      public PathType getPathType()
      Gets the PathType.
      Returns:
      the path type
    • getName

      public String getName(int index)
      Gets the name element given an index.

      The index parameter is the index of the name element to return. The element that is closest to the root has index 0. The element that is farthest from the root has index count -1.

      Parameters:
      index - to return
      Returns:
      the name element
    • getElement

      public Object getElement(int index)
      Gets the element given an index.

      The index parameter is the index of the element to return. The element that is closest to the root has index 0. The element that is farthest from the root has index count -1.

      Parameters:
      index - to return
      Returns:
      the element either a String or Integer
    • getNameCount

      public int getNameCount()
      Gets the number of name elements in the path.
      Returns:
      the number of elements in the path or 0 if this is the root element
    • startsWith

      public boolean startsWith(NodePath other)
      Tests if this path starts with the other path.
      Parameters:
      other - the other path
      Returns:
      true if the path starts with the other path
    • contains

      public boolean contains(String segment)
      Tests if this path contains a string segment that is an exact match.

      This will not match if the segment is a number.

      Parameters:
      segment - the segment to test
      Returns:
      true if the string segment is found
    • toString

      public String toString()
      Specified by:
      toString in interface Path
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • compareTo

      public int compareTo(NodePath other)
      Specified by:
      compareTo in interface Comparable<NodePath>