java.lang.Object
org.hibernate.validator.internal.engine.path.PathImpl
All Implemented Interfaces:
Path, Serializable, Iterable<Path.Node>

public final class PathImpl extends Object implements Path, Serializable
Default implementation of jakarta.validation.Path.
Author:
Hardy Ferentschik, Gunnar Morling, Kevin Pollet <kevin.pollet@serli.com> (C) 2011 SERLI
See Also:
  • Method Details

    • createPathFromString

      public static PathImpl createPathFromString(String propertyPath)
      Returns a Path instance representing the path described by the given string. To create a root node the empty string should be passed.
      Parameters:
      propertyPath - the path as string representation.
      Returns:
      a Path instance representing the path described by the given string.
      Throws:
      IllegalArgumentException - in case property == null or property cannot be parsed.
    • createPathForExecutable

      public static PathImpl createPathForExecutable(ExecutableMetaData executable)
    • createRootPath

      public static PathImpl createRootPath()
    • createCopy

      public static PathImpl createCopy(PathImpl path)
    • createCopyWithoutLeafNode

      public static PathImpl createCopyWithoutLeafNode(PathImpl path)
    • isRootPath

      public boolean isRootPath()
    • addPropertyNode

      public NodeImpl addPropertyNode(String nodeName)
    • addContainerElementNode

      public NodeImpl addContainerElementNode(String nodeName)
    • addParameterNode

      public NodeImpl addParameterNode(String nodeName, int index)
    • addCrossParameterNode

      public NodeImpl addCrossParameterNode()
    • addBeanNode

      public NodeImpl addBeanNode()
    • addReturnValueNode

      public NodeImpl addReturnValueNode()
    • makeLeafNodeIterable

      public NodeImpl makeLeafNodeIterable()
    • makeLeafNodeIterableAndSetIndex

      public NodeImpl makeLeafNodeIterableAndSetIndex(Integer index)
    • makeLeafNodeIterableAndSetMapKey

      public NodeImpl makeLeafNodeIterableAndSetMapKey(Object key)
    • setLeafNodeValueIfRequired

      public NodeImpl setLeafNodeValueIfRequired(Object value)
    • setLeafNodeTypeParameter

      public NodeImpl setLeafNodeTypeParameter(Class<?> containerClass, Integer typeArgumentIndex)
    • removeLeafNode

      public void removeLeafNode()
    • getLeafNode

      public NodeImpl getLeafNode()
    • iterator

      public Iterator<Path.Node> iterator()
      Specified by:
      iterator in interface Iterable<Path.Node>
    • asString

      public String asString()
    • toString

      public String toString()
      Description copied from interface: Path
      Returns a human-readable representation of this path.

      Clients should not rely on any specific structure of the returned value. Instead they should iterate through the path nodes and obtain any required information by calling the methods on Path.Node and its sub-types.

      Specified by:
      toString in interface Path
      Overrides:
      toString in class Object
      Returns:
      a human-readable representation of this path
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object