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: 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 0: aload 0
aconst_null
invokespecial org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.<init>:(Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;)V
1: return
end local 0 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 start local 1 0: aload 0
aload 1
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: aload 0
aload 1
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: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 0
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getPageParameterName:()Ljava/lang/String;
aload 1
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 0
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getSizeParameterName:()Ljava/lang/String;
aload 1
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
astore 4
start local 4 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 3: aload 2
invokevirtual org.springframework.web.util.UriComponents.getQueryParams:()Lorg/springframework/util/MultiValueMap;
astore 6
start local 6 4: aload 6
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
start local 7 7: iconst_2
anewarray java.lang.String
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
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
start local 8 9: aload 6
aload 8
invokeinterface org.springframework.util.MultiValueMap.containsKey:(Ljava/lang/Object;)Z
ifne 15
10: iload 7
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
start local 10 13: ldc "pagination.%s.description"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 11
start local 11 14: aload 5
new org.springframework.hateoas.TemplateVariable
dup
aload 8
aload 10
aload 11
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 end local 10 end local 8 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:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
16: new org.springframework.hateoas.TemplateVariables
dup
aload 5
invokespecial org.springframework.hateoas.TemplateVariables.<init>:(Ljava/util/List;)V
astore 8
start local 8 17: aload 8
aload 0
getfield org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.sortResolver:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
aload 1
aload 2
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 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
ldc "UriComponentsBuilder must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 3
instanceof org.springframework.data.domain.Pageable
ifne 3
2: return
3: StackMap locals:
StackMap stack:
aload 3
checkcast org.springframework.data.domain.Pageable
astore 4
start local 4 4: aload 4
invokeinterface org.springframework.data.domain.Pageable.isUnpaged:()Z
ifeq 6
5: return
6: StackMap locals: org.springframework.data.domain.Pageable
StackMap stack:
aload 0
aload 0
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getPageParameterName:()Ljava/lang/String;
aload 2
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
astore 5
start local 5 7: aload 0
aload 0
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getSizeParameterName:()Ljava/lang/String;
aload 2
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getParameterNameToUse:(Ljava/lang/String;Lorg/springframework/core/MethodParameter;)Ljava/lang/String;
astore 6
start local 6 8: aload 4
invokeinterface org.springframework.data.domain.Pageable.getPageNumber:()I
istore 7
start local 7 9: aload 1
aload 5
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.isOneIndexedParameters:()Z
ifeq 10
iload 7
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
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: aload 1
aload 6
iconst_1
anewarray java.lang.Object
dup
iconst_0
13: aload 4
invokeinterface org.springframework.data.domain.Pageable.getPageSize:()I
aload 0
invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.getMaxPageSize:()I
if_icmpgt 14
aload 4
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
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: invokevirtual org.springframework.web.util.UriComponentsBuilder.replaceQueryParam:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
17: aload 0
getfield org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.sortResolver:Lorg/springframework/data/web/HateoasSortHandlerMethodArgumentResolver;
aload 1
aload 2
aload 4
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: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
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
StackMap locals:
StackMap stack: org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver
2: areturn
end local 0 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