class org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder implements java.util.function.BiFunction<java.lang.String, org.springframework.web.util.HierarchicalUriComponents$Type, java.lang.String>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder
super_class: java.lang.Object
{
private final java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.StringBuilder currentLiteral;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.StringBuilder currentVariable;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.StringBuilder output;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentLiteral:Ljava/lang/StringBuilder;
2: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
3: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.output:Ljava/lang/StringBuilder;
4: aload 0
aload 1
putfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.charset:Ljava/nio/charset/Charset;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/web/util/HierarchicalUriComponents$UriTemplateEncoder;
0 6 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
charset
public java.lang.String apply(java.lang.String, org.springframework.web.util.HierarchicalUriComponents$Type);
descriptor: (Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 2
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 123
if_icmpne 2
aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 125
if_icmpne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
bipush 123
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 4
3: aload 1
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.charset:Ljava/nio/charset/Charset;
aload 2
invokestatic org.springframework.web.util.HierarchicalUriComponents.encodeUriComponent:(Ljava/lang/String;Ljava/nio/charset/Charset;Lorg/springframework/web/util/HierarchicalUriComponents$Type;)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 5: aload 0
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentLiteral:Ljava/lang/StringBuilder;
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.clear:(Ljava/lang/StringBuilder;)V
6: aload 0
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.clear:(Ljava/lang/StringBuilder;)V
7: aload 0
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.output:Ljava/lang/StringBuilder;
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.clear:(Ljava/lang/StringBuilder;)V
8: iconst_0
istore 4
start local 4 9: goto 27
10: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 11: iload 5
bipush 123
if_icmpne 15
12: iinc 3 1
13: iload 3
iconst_1
if_icmpne 15
14: aload 0
aload 2
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.encodeAndAppendCurrentLiteral:(Lorg/springframework/web/util/HierarchicalUriComponents$Type;)V
15: StackMap locals: int
StackMap stack:
iload 5
bipush 125
if_icmpne 22
iload 3
ifle 22
16: iinc 3 -1
17: aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: iload 3
ifne 26
19: aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.output:Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
20: aload 0
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.clear:(Ljava/lang/StringBuilder;)V
21: goto 26
22: StackMap locals:
StackMap stack:
iload 3
ifle 25
23: aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentLiteral:Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 26: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
27: iload 4
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 10
end local 4 28: iload 3
ifle 30
29: aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentLiteral:Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentVariable:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
30: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.encodeAndAppendCurrentLiteral:(Lorg/springframework/web/util/HierarchicalUriComponents$Type;)V
31: aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.output:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/springframework/web/util/HierarchicalUriComponents$UriTemplateEncoder;
0 32 1 source Ljava/lang/String;
0 32 2 type Lorg/springframework/web/util/HierarchicalUriComponents$Type;
5 32 3 level I
9 28 4 i I
11 26 5 c C
MethodParameters:
Name Flags
source
type
private void encodeAndAppendCurrentLiteral(org.springframework.web.util.HierarchicalUriComponents$Type);
descriptor: (Lorg/springframework/web/util/HierarchicalUriComponents$Type;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.output:Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentLiteral:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.charset:Ljava/nio/charset/Charset;
aload 1
invokestatic org.springframework.web.util.HierarchicalUriComponents.encodeUriComponent:(Ljava/lang/String;Ljava/nio/charset/Charset;Lorg/springframework/web/util/HierarchicalUriComponents$Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: aload 0
aload 0
getfield org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.currentLiteral:Ljava/lang/StringBuilder;
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.clear:(Ljava/lang/StringBuilder;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/util/HierarchicalUriComponents$UriTemplateEncoder;
0 3 1 type Lorg/springframework/web/util/HierarchicalUriComponents$Type;
MethodParameters:
Name Flags
type
private void clear(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
aload 1
invokevirtual java.lang.StringBuilder.length:()I
invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/util/HierarchicalUriComponents$UriTemplateEncoder;
0 2 1 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
sb
public java.lang.Object apply(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.String
aload 2
checkcast org.springframework.web.util.HierarchicalUriComponents$Type
invokevirtual org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder.apply:(Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/BiFunction<Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;Ljava/lang/String;>;
SourceFile: "HierarchicalUriComponents.java"
NestHost: org.springframework.web.util.HierarchicalUriComponents
InnerClasses:
abstract Type = org.springframework.web.util.HierarchicalUriComponents$Type of org.springframework.web.util.HierarchicalUriComponents
private UriTemplateEncoder = org.springframework.web.util.HierarchicalUriComponents$UriTemplateEncoder of org.springframework.web.util.HierarchicalUriComponents