Class JsonNodePath

java.lang.Object
com.networknt.schema.JsonNodePath
All Implemented Interfaces:
Comparable<JsonNodePath>

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

    • JsonNodePath

      public JsonNodePath(PathType type)
  • Method Details

    • getParent

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

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

      public JsonNodePath 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(JsonNodePath 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()
      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(JsonNodePath other)
      Specified by:
      compareTo in interface Comparable<JsonNodePath>