public class org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver extends org.springframework.data.web.PageableHandlerMethodArgumentResolver implements org.springframework.hateoas.server.mvc.UriComponentsContributor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver
  super_class: org.springframework.data.web.PageableHandlerMethodArgumentResolver
{
  private static final org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver DEFAULT_SORT_RESOLVER;
    descriptor: Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver sortResolver;
    descriptor: Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 48
            new org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver
            dup
            invokespecial org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver.<init>:()V
            putstatic org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.DEFAULT_SORT_RESOLVER:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
         0: .line 56
            aload 0 /* this */
            aconst_null
            invokespecial org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.<init>:(Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;)V
         1: .line 57
            return
        end local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;

  public void <init>(org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver);
    descriptor: (Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
        start local 1 // org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver sortResolver
         0: .line 67
            aload 0 /* this */
            aload 1 /* sortResolver */
            invokestatic org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getDefaultedSortResolver:(Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;)Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
            invokespecial org.springframework.data.web.PageableHandlerMethodArgumentResolver.<init>:(Lorg/springframework/data/web/SortHandlerMethodArgumentResolver;)V
         1: .line 68
            aload 0 /* this */
            aload 1 /* sortResolver */
            invokestatic org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getDefaultedSortResolver:(Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;)Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
            putfield org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.sortResolver:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
         2: .line 69
            return
        end local 1 // org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver sortResolver
        end local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
            0    3     1  sortResolver  Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      sortResolver  

  public org.springframework.hateoas.TemplateVariables getPaginationTemplateVariables(org.springframework.core.MethodParameter, org.springframework.web.util.UriComponents);
    descriptor: (Lorg/springframework/core/MethodParameter;Lorg/springframework/web/util/UriComponents;)Lorg/springframework/hateoas/TemplateVariables;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
        start local 1 // org.springframework.core.MethodParameter parameter
        start local 2 // org.springframework.web.util.UriComponents template
         0: .line 80
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getPageParameterName:()Ljava/lang/String;
            aload 1 /* parameter */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
            astore 3 /* pagePropertyName */
        start local 3 // java.lang.String pagePropertyName
         1: .line 81
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getSizeParameterName:()Ljava/lang/String;
            aload 1 /* parameter */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
            astore 4 /* sizePropertyName */
        start local 4 // java.lang.String sizePropertyName
         2: .line 83
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* names */
        start local 5 // java.util.List names
         3: .line 84
            aload 2 /* template */
            invokevirtual org.springframework.web.util.UriComponents.getQueryParams:()Lorg/springframework/util/MultiValueMap;
            astore 6 /* queryParameters */
        start local 6 // org.springframework.util.MultiValueMap queryParameters
         4: .line 85
            aload 6 /* queryParameters */
            invokeinterface org.springframework.util.MultiValueMap.isEmpty:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.core.MethodParameter org.springframework.web.util.UriComponents java.lang.String java.lang.String java.util.List org.springframework.util.MultiValueMap
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* append */
        start local 7 // boolean append
         7: .line 87
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* pagePropertyName */
            aastore
            dup
            iconst_1
            aload 4 /* sizePropertyName */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 15
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.core.MethodParameter org.springframework.web.util.UriComponents java.lang.String java.lang.String java.util.List org.springframework.util.MultiValueMap int top java.util.Iterator
      StackMap stack:
         8: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* propertyName */
        start local 8 // java.lang.String propertyName
         9: .line 89
            aload 6 /* queryParameters */
            aload 8 /* propertyName */
            invokeinterface org.springframework.util.MultiValueMap.containsKey:(Ljava/lang/Object;)Z
            ifne 15
        10: .line 91
            iload 7 /* append */
            ifeq 11
            getstatic org.springframework.hateoas.TemplateVariable$VariableType.REQUEST_PARAM_CONTINUED:Lorg/springframework/hateoas/TemplateVariable$VariableType;
            goto 12
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.core.MethodParameter org.springframework.web.util.UriComponents java.lang.String java.lang.String java.util.List org.springframework.util.MultiValueMap int java.lang.String java.util.Iterator
      StackMap stack:
        11: getstatic org.springframework.hateoas.TemplateVariable$VariableType.REQUEST_PARAM:Lorg/springframework/hateoas/TemplateVariable$VariableType;
      StackMap locals:
      StackMap stack: org.springframework.hateoas.TemplateVariable$VariableType
        12: astore 10 /* type */
        start local 10 // org.springframework.hateoas.TemplateVariable$VariableType type
        13: .line 92
            ldc "pagination.%s.description"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* propertyName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 11 /* description */
        start local 11 // java.lang.String description
        14: .line 93
            aload 5 /* names */
            new org.springframework.hateoas.TemplateVariable
            dup
            aload 8 /* propertyName */
            aload 10 /* type */
            aload 11 /* description */
            invokespecial org.springframework.hateoas.TemplateVariable.<init>:(Ljava/lang/String;Lorg/springframework/hateoas/TemplateVariable$VariableType;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String description
        end local 10 // org.springframework.hateoas.TemplateVariable$VariableType type
        end local 8 // java.lang.String propertyName
        15: .line 87
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.core.MethodParameter org.springframework.web.util.UriComponents java.lang.String java.lang.String java.util.List org.springframework.util.MultiValueMap int top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        16: .line 97
            new org.springframework.hateoas.TemplateVariables
            dup
            aload 5 /* names */
            invokespecial org.springframework.hateoas.TemplateVariables.<init>:(Ljava/util/List;)V
            astore 8 /* pagingVariables */
        start local 8 // org.springframework.hateoas.TemplateVariables pagingVariables
        17: .line 98
            aload 8 /* pagingVariables */
            aload 0 /* this */
            getfield org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.sortResolver:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
            aload 1 /* parameter */
            aload 2 /* template */
            invokevirtual org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver.getSortTemplateVariables:(Lorg/springframework/core/MethodParameter;Lorg/springframework/web/util/UriComponents;)Lorg/springframework/hateoas/TemplateVariables;
            invokevirtual org.springframework.hateoas.TemplateVariables.concat:(Lorg/springframework/hateoas/TemplateVariables;)Lorg/springframework/hateoas/TemplateVariables;
            areturn
        end local 8 // org.springframework.hateoas.TemplateVariables pagingVariables
        end local 7 // boolean append
        end local 6 // org.springframework.util.MultiValueMap queryParameters
        end local 5 // java.util.List names
        end local 4 // java.lang.String sizePropertyName
        end local 3 // java.lang.String pagePropertyName
        end local 2 // org.springframework.web.util.UriComponents template
        end local 1 // org.springframework.core.MethodParameter parameter
        end local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
            0   18     1         parameter  Lorg/springframework/core/MethodParameter;
            0   18     2          template  Lorg/springframework/web/util/UriComponents;
            1   18     3  pagePropertyName  Ljava/lang/String;
            2   18     4  sizePropertyName  Ljava/lang/String;
            3   18     5             names  Ljava/util/List<Lorg/springframework/hateoas/TemplateVariable;>;
            4   18     6   queryParameters  Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;
            7   18     7            append  Z
            9   15     8      propertyName  Ljava/lang/String;
           13   15    10              type  Lorg/springframework/hateoas/TemplateVariable$VariableType;
           14   15    11       description  Ljava/lang/String;
           17   18     8   pagingVariables  Lorg/springframework/hateoas/TemplateVariables;
    MethodParameters:
           Name  Flags
      parameter  
      template   

  public void enhance(org.springframework.web.util.UriComponentsBuilder, org.springframework.core.MethodParameter, java.lang.Object);
    descriptor: (Lorg/springframework/web/util/UriComponentsBuilder;Lorg/springframework/core/MethodParameter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
        start local 1 // org.springframework.web.util.UriComponentsBuilder builder
        start local 2 // org.springframework.core.MethodParameter parameter
        start local 3 // java.lang.Object value
         0: .line 108
            aload 1 /* builder */
            ldc "UriComponentsBuilder must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 110
            aload 3 /* value */
            instanceof org.springframework.data.domain.Pageable
            ifne 3
         2: .line 111
            return
         3: .line 114
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            checkcast org.springframework.data.domain.Pageable
            astore 4 /* pageable */
        start local 4 // org.springframework.data.domain.Pageable pageable
         4: .line 116
            aload 4 /* pageable */
            invokeinterface org.springframework.data.domain.Pageable.isUnpaged:()Z
            ifeq 6
         5: .line 117
            return
         6: .line 120
      StackMap locals: org.springframework.data.domain.Pageable
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getPageParameterName:()Ljava/lang/String;
            aload 2 /* parameter */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
            astore 5 /* pagePropertyName */
        start local 5 // java.lang.String pagePropertyName
         7: .line 121
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getSizeParameterName:()Ljava/lang/String;
            aload 2 /* parameter */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
            astore 6 /* sizePropertyName */
        start local 6 // java.lang.String sizePropertyName
         8: .line 123
            aload 4 /* pageable */
            invokeinterface org.springframework.data.domain.Pageable.getPageNumber:()I
            istore 7 /* pageNumber */
        start local 7 // int pageNumber
         9: .line 125
            aload 1 /* builder */
            aload 5 /* pagePropertyName */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.isOneIndexedParameters:()Z
            ifeq 10
            iload 7 /* pageNumber */
            iconst_1
            iadd
            goto 11
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.web.util.UriComponentsBuilder org.springframework.core.MethodParameter java.lang.Object org.springframework.data.domain.Pageable java.lang.String java.lang.String int
      StackMap stack: org.springframework.web.util.UriComponentsBuilder java.lang.String java.lang.Object[] java.lang.Object[] int
        10: iload 7 /* pageNumber */
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.web.util.UriComponentsBuilder org.springframework.core.MethodParameter java.lang.Object org.springframework.data.domain.Pageable java.lang.String java.lang.String int
      StackMap stack: org.springframework.web.util.UriComponentsBuilder java.lang.String java.lang.Object[] java.lang.Object[] int int
        11: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.springframework.web.util.UriComponentsBuilder.replaceQueryParam:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/springframework/web/util/UriComponentsBuilder;
            pop
        12: .line 126
            aload 1 /* builder */
            aload 6 /* sizePropertyName */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 127
            aload 4 /* pageable */
            invokeinterface org.springframework.data.domain.Pageable.getPageSize:()I
            aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getMaxPageSize:()I
            if_icmpgt 14
            aload 4 /* pageable */
            invokeinterface org.springframework.data.domain.Pageable.getPageSize:()I
            goto 15
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.web.util.UriComponentsBuilder org.springframework.core.MethodParameter java.lang.Object org.springframework.data.domain.Pageable java.lang.String java.lang.String int
      StackMap stack: org.springframework.web.util.UriComponentsBuilder java.lang.String java.lang.Object[] java.lang.Object[] int
        14: aload 0 /* this */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getMaxPageSize:()I
      StackMap locals: org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.web.util.UriComponentsBuilder org.springframework.core.MethodParameter java.lang.Object org.springframework.data.domain.Pageable java.lang.String java.lang.String int
      StackMap stack: org.springframework.web.util.UriComponentsBuilder java.lang.String java.lang.Object[] java.lang.Object[] int int
        15: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        16: .line 126
            invokevirtual org.springframework.web.util.UriComponentsBuilder.replaceQueryParam:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/springframework/web/util/UriComponentsBuilder;
            pop
        17: .line 129
            aload 0 /* this */
            getfield org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.sortResolver:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
            aload 1 /* builder */
            aload 2 /* parameter */
            aload 4 /* pageable */
            invokeinterface org.springframework.data.domain.Pageable.getSort:()Lorg/springframework/data/domain/Sort;
            invokevirtual org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver.enhance:(Lorg/springframework/web/util/UriComponentsBuilder;Lorg/springframework/core/MethodParameter;Ljava/lang/Object;)V
        18: .line 130
            return
        end local 7 // int pageNumber
        end local 6 // java.lang.String sizePropertyName
        end local 5 // java.lang.String pagePropertyName
        end local 4 // org.springframework.data.domain.Pageable pageable
        end local 3 // java.lang.Object value
        end local 2 // org.springframework.core.MethodParameter parameter
        end local 1 // org.springframework.web.util.UriComponentsBuilder builder
        end local 0 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
            0   19     1           builder  Lorg/springframework/web/util/UriComponentsBuilder;
            0   19     2         parameter  Lorg/springframework/core/MethodParameter;
            0   19     3             value  Ljava/lang/Object;
            4   19     4          pageable  Lorg/springframework/data/domain/Pageable;
            7   19     5  pagePropertyName  Ljava/lang/String;
            8   19     6  sizePropertyName  Ljava/lang/String;
            9   19     7        pageNumber  I
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      builder    
      parameter  
      value      

  private static org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver getDefaultedSortResolver(org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver);
    descriptor: (Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;)Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver sortResolver
         0: .line 134
            aload 0 /* sortResolver */
            ifnonnull 1
            getstatic org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.DEFAULT_SORT_RESOLVER:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* sortResolver */
      StackMap locals:
      StackMap stack: org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver
         2: areturn
        end local 0 // org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver sortResolver
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  sortResolver  Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      sortResolver  
}
SourceFile: "HateoasPageableHandlerMethodArgumentResolver.java"
InnerClasses:
  public final VariableType = org.springframework.hateoas.TemplateVariable$VariableType of org.springframework.hateoas.TemplateVariable