public interface org.springframework.data.mapping.PersistentPropertyPath<P extends org.springframework.data.mapping.PersistentProperty<P>> extends org.springframework.data.util.Streamable<P>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.springframework.data.mapping.PersistentPropertyPath
  super_class: java.lang.Object
{
  public abstract java.lang.String toDotPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public abstract java.lang.String toDotPath(org.springframework.core.convert.converter.Converter<? super P, java.lang.String>);
    descriptor: (Lorg/springframework/core/convert/converter/Converter;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/springframework/core/convert/converter/Converter<-TP;Ljava/lang/String;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      converter  

  public abstract java.lang.String toPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      delimiter  

  public abstract java.lang.String toPath(java.lang.String, org.springframework.core.convert.converter.Converter<? super P, java.lang.String>);
    descriptor: (Ljava/lang/String;Lorg/springframework/core/convert/converter/Converter;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Lorg/springframework/core/convert/converter/Converter<-TP;Ljava/lang/String;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      delimiter  
      converter  

  public abstract P getLeafProperty();
    descriptor: ()Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public P getRequiredLeafProperty();
    descriptor: ()Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.springframework.data.mapping.PersistentPropertyPath this
         0: .line 79
            aload 0 /* this */
            invokeinterface org.springframework.data.mapping.PersistentPropertyPath.getLeafProperty:()Lorg/springframework/data/mapping/PersistentProperty;
            astore 1 /* property */
        start local 1 // org.springframework.data.mapping.PersistentProperty property
         1: .line 81
            aload 1 /* property */
            ifnonnull 3
         2: .line 82
            new java.lang.IllegalStateException
            dup
            ldc "No leaf property found!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 85
      StackMap locals: org.springframework.data.mapping.PersistentProperty
      StackMap stack:
            aload 1 /* property */
            areturn
        end local 1 // org.springframework.data.mapping.PersistentProperty property
        end local 0 // org.springframework.data.mapping.PersistentPropertyPath this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/springframework/data/mapping/PersistentPropertyPath<TP;>;
            1    4     1  property  TP;
    Signature: ()TP;

  public abstract P getBaseProperty();
    descriptor: ()Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public abstract boolean isBasePathOf(org.springframework.data.mapping.PersistentPropertyPath<P>);
    descriptor: (Lorg/springframework/data/mapping/PersistentPropertyPath;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/springframework/data/mapping/PersistentPropertyPath<TP;>;)Z
    MethodParameters:
      Name  Flags
      path  

  public abstract org.springframework.data.mapping.PersistentPropertyPath<P> getExtensionForBaseOf(org.springframework.data.mapping.PersistentPropertyPath<P>);
    descriptor: (Lorg/springframework/data/mapping/PersistentPropertyPath;)Lorg/springframework/data/mapping/PersistentPropertyPath;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/springframework/data/mapping/PersistentPropertyPath<TP;>;)Lorg/springframework/data/mapping/PersistentPropertyPath<TP;>;
    MethodParameters:
      Name  Flags
      base  

  public abstract org.springframework.data.mapping.PersistentPropertyPath<P> getParentPath();
    descriptor: ()Lorg/springframework/data/mapping/PersistentPropertyPath;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/springframework/data/mapping/PersistentPropertyPath<TP;>;

  public abstract int getLength();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
Signature: <P::Lorg/springframework/data/mapping/PersistentProperty<TP;>;>Ljava/lang/Object;Lorg/springframework/data/util/Streamable<TP;>;
SourceFile: "PersistentPropertyPath.java"