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()
      Specified by:
      toString in interface Path
      Overrides:
      toString in class Object
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object