public final class org.springframework.http.ContentDisposition
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.springframework.http.ContentDisposition
super_class: java.lang.Object
{
private static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Invalid header field parameter format (as defined in RFC 5987)"
private final java.lang.String type;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.lang.Long size;
descriptor: Ljava/lang/Long;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.time.ZonedDateTime creationDate;
descriptor: Ljava/time/ZonedDateTime;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.time.ZonedDateTime modificationDate;
descriptor: Ljava/time/ZonedDateTime;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.time.ZonedDateTime readDate;
descriptor: Ljava/time/ZonedDateTime;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private void <init>(java.lang.String, java.lang.String, java.lang.String, java.nio.charset.Charset, java.lang.Long, java.time.ZonedDateTime, java.time.ZonedDateTime, java.time.ZonedDateTime);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/lang/Long;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
2: aload 0
aload 2
putfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
3: aload 0
aload 3
putfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
4: aload 0
aload 4
putfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
5: aload 0
aload 5
putfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
6: aload 0
aload 6
putfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
7: aload 0
aload 7
putfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
8: aload 0
aload 8
putfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
9: return
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 10 0 this Lorg/springframework/http/ContentDisposition;
0 10 1 type Ljava/lang/String;
0 10 2 name Ljava/lang/String;
0 10 3 filename Ljava/lang/String;
0 10 4 charset Ljava/nio/charset/Charset;
0 10 5 size Ljava/lang/Long;
0 10 6 creationDate Ljava/time/ZonedDateTime;
0 10 7 modificationDate Ljava/time/ZonedDateTime;
0 10 8 readDate Ljava/time/ZonedDateTime;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
3:
org.springframework.lang.Nullable()
4:
org.springframework.lang.Nullable()
5:
org.springframework.lang.Nullable()
6:
org.springframework.lang.Nullable()
7:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
name
filename
charset
size
creationDate
modificationDate
readDate
public boolean isAttachment();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ifnull 1
aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ldc "attachment"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/ContentDisposition;
public boolean isFormData();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ifnull 1
aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ldc "form-data"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/ContentDisposition;
public boolean isInline();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ifnull 1
aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ldc "inline"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/ContentDisposition;
public java.lang.String getType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.String getFilename();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.nio.charset.Charset getCharset();
descriptor: ()Ljava/nio/charset/Charset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.Long getSize();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
org.springframework.lang.Nullable()
public java.time.ZonedDateTime getCreationDate();
descriptor: ()Ljava/time/ZonedDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
org.springframework.lang.Nullable()
public java.time.ZonedDateTime getModificationDate();
descriptor: ()Ljava/time/ZonedDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
org.springframework.lang.Nullable()
public java.time.ZonedDateTime getReadDate();
descriptor: ()Ljava/time/ZonedDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/ContentDisposition;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
org.springframework.lang.Nullable()
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.springframework.http.ContentDisposition
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.springframework.http.ContentDisposition
astore 2
start local 2 5: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
aload 2
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
6: aload 0
getfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
aload 2
getfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
7: aload 0
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
aload 2
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
8: aload 0
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
aload 2
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
9: aload 0
getfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
aload 2
getfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
10: aload 0
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
aload 2
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
11: aload 0
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
aload 2
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
12: aload 0
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
aload 2
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 14
13: iconst_1
ireturn
StackMap locals: org.springframework.http.ContentDisposition
StackMap stack:
14: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/http/ContentDisposition;
0 15 1 other Ljava/lang/Object;
5 15 2 otherCd Lorg/springframework/http/ContentDisposition;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
istore 1
start local 1 1: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
iadd
istore 1
2: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
iadd
istore 1
3: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
iadd
istore 1
4: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
invokestatic org.springframework.util.ObjectUtils.nullSafeHashCode:(Ljava/lang/Object;)I
iadd
istore 1
5: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
ifnull 6
aload 0
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.hashCode:()I
goto 7
StackMap locals: org.springframework.http.ContentDisposition int
StackMap stack: int
6: iconst_0
StackMap locals: org.springframework.http.ContentDisposition int
StackMap stack: int int
7: iadd
istore 1
8: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
ifnull 9
aload 0
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.hashCode:()I
goto 10
StackMap locals:
StackMap stack: int
9: iconst_0
StackMap locals: org.springframework.http.ContentDisposition int
StackMap stack: int int
10: iadd
istore 1
11: bipush 31
iload 1
imul
aload 0
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
ifnull 12
aload 0
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.hashCode:()I
goto 13
StackMap locals:
StackMap stack: int
12: iconst_0
StackMap locals: org.springframework.http.ContentDisposition int
StackMap stack: int int
13: iadd
istore 1
14: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/http/ContentDisposition;
1 15 1 result I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
ifnull 3
2: aload 1
aload 0
getfield org.springframework.http.ContentDisposition.type:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
ifnull 6
4: aload 1
ldc "; name=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
aload 0
getfield org.springframework.http.ContentDisposition.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
ifnull 13
7: aload 0
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
ifnull 8
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
aload 0
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifeq 11
8: StackMap locals:
StackMap stack:
aload 1
ldc "; filename=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
aload 0
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
invokestatic org.springframework.http.ContentDisposition.escapeQuotationsInFilename:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: goto 13
11: StackMap locals:
StackMap stack:
aload 1
ldc "; filename*="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 1
aload 0
getfield org.springframework.http.ContentDisposition.filename:Ljava/lang/String;
aload 0
getfield org.springframework.http.ContentDisposition.charset:Ljava/nio/charset/Charset;
invokestatic org.springframework.http.ContentDisposition.encodeFilename:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
ifnull 16
14: aload 1
ldc "; size="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 1
aload 0
getfield org.springframework.http.ContentDisposition.size:Ljava/lang/Long;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
16: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
ifnull 20
17: aload 1
ldc "; creation-date=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 1
getstatic java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.springframework.http.ContentDisposition.creationDate:Ljava/time/ZonedDateTime;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 1
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
ifnull 24
21: aload 1
ldc "; modification-date=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: aload 1
getstatic java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.springframework.http.ContentDisposition.modificationDate:Ljava/time/ZonedDateTime;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 1
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
ifnull 28
25: aload 1
ldc "; read-date=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: aload 1
getstatic java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.springframework.http.ContentDisposition.readDate:Ljava/time/ZonedDateTime;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: aload 1
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
28: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/springframework/http/ContentDisposition;
1 29 1 sb Ljava/lang/StringBuilder;
public static org.springframework.http.ContentDisposition$Builder attachment();
descriptor: ()Lorg/springframework/http/ContentDisposition$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "attachment"
invokestatic org.springframework.http.ContentDisposition.builder:(Ljava/lang/String;)Lorg/springframework/http/ContentDisposition$Builder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.http.ContentDisposition$Builder formData();
descriptor: ()Lorg/springframework/http/ContentDisposition$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "form-data"
invokestatic org.springframework.http.ContentDisposition.builder:(Ljava/lang/String;)Lorg/springframework/http/ContentDisposition$Builder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.http.ContentDisposition$Builder inline();
descriptor: ()Lorg/springframework/http/ContentDisposition$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "inline"
invokestatic org.springframework.http.ContentDisposition.builder:(Ljava/lang/String;)Lorg/springframework/http/ContentDisposition$Builder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.http.ContentDisposition$Builder builder(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/http/ContentDisposition$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.springframework.http.ContentDisposition$BuilderImpl
dup
aload 0
invokespecial org.springframework.http.ContentDisposition$BuilderImpl.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/String;
MethodParameters:
Name Flags
type
public static org.springframework.http.ContentDisposition empty();
descriptor: ()Lorg/springframework/http/ContentDisposition;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=0, args_size=0
0: new org.springframework.http.ContentDisposition
dup
ldc ""
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial org.springframework.http.ContentDisposition.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/lang/Long;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.http.ContentDisposition parse(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/http/ContentDisposition;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=17, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.http.ContentDisposition.tokenize:(Ljava/lang/String;)Ljava/util/List;
astore 1
start local 1 1: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aconst_null
astore 6
start local 6 6: aconst_null
astore 7
start local 7 7: aconst_null
astore 8
start local 8 8: aconst_null
astore 9
start local 9 9: iconst_1
istore 10
start local 10 10: goto 58
11: StackMap locals: java.lang.String java.util.List java.lang.String java.lang.String java.lang.String java.nio.charset.Charset java.lang.Long java.time.ZonedDateTime java.time.ZonedDateTime java.time.ZonedDateTime int
StackMap stack:
aload 1
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 12: aload 11
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 12
start local 12 13: iload 12
iconst_m1
if_icmpeq 56
14: aload 11
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
start local 13 15: aload 11
ldc "\""
iload 12
iconst_1
iadd
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifeq 17
aload 11
ldc "\""
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 17
16: aload 11
iload 12
iconst_2
iadd
aload 11
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 18
17: StackMap locals: java.lang.String int java.lang.String
StackMap stack:
aload 11
iload 12
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
18: StackMap locals:
StackMap stack: java.lang.String
astore 14
start local 14 19: aload 13
ldc "name"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
20: aload 14
astore 3
21: goto 57
22: StackMap locals: java.lang.String
StackMap stack:
aload 13
ldc "filename*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
23: aload 14
bipush 39
invokevirtual java.lang.String.indexOf:(I)I
istore 15
start local 15 24: aload 14
bipush 39
iload 15
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 16
start local 16 25: iload 15
iconst_m1
if_icmpeq 33
iload 16
iconst_m1
if_icmpeq 33
26: aload 14
iconst_0
iload 15
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 5
27: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aload 5
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 28
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
aload 5
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 28
iconst_0
goto 29
StackMap locals: int int
StackMap stack:
28: iconst_1
29: StackMap locals:
StackMap stack: int
ldc "Charset should be UTF-8 or ISO-8859-1"
30: invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
31: aload 14
iload 16
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aload 5
invokestatic org.springframework.http.ContentDisposition.decodeFilename:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
astore 4
32: goto 57
33: StackMap locals:
StackMap stack:
aload 14
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokestatic org.springframework.http.ContentDisposition.decodeFilename:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
astore 4
end local 16 end local 15 34: goto 57
35: StackMap locals:
StackMap stack:
aload 13
ldc "filename"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
aload 4
ifnonnull 38
36: aload 14
astore 4
37: goto 57
38: StackMap locals:
StackMap stack:
aload 13
ldc "size"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
39: aload 14
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 6
40: goto 57
41: StackMap locals:
StackMap stack:
aload 13
ldc "creation-date"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
42: aload 14
getstatic java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME:Ljava/time/format/DateTimeFormatter;
invokestatic java.time.ZonedDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
astore 7
43: goto 57
44: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
pop
45: goto 57
46: StackMap locals:
StackMap stack:
aload 13
ldc "modification-date"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 51
47: aload 14
getstatic java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME:Ljava/time/format/DateTimeFormatter;
invokestatic java.time.ZonedDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
astore 8
48: goto 57
49: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
pop
50: goto 57
51: StackMap locals:
StackMap stack:
aload 13
ldc "read-date"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 57
52: aload 14
getstatic java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME:Ljava/time/format/DateTimeFormatter;
invokestatic java.time.ZonedDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
astore 9
53: goto 57
54: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
pop
end local 14 end local 13 55: goto 57
56: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid content disposition format"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 12 end local 11 57: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
58: iload 10
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 11
end local 10 59: new org.springframework.http.ContentDisposition
dup
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
aload 9
invokespecial org.springframework.http.ContentDisposition.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/lang/Long;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;)V
areturn
end local 9 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 60 0 contentDisposition Ljava/lang/String;
1 60 1 parts Ljava/util/List<Ljava/lang/String;>;
2 60 2 type Ljava/lang/String;
3 60 3 name Ljava/lang/String;
4 60 4 filename Ljava/lang/String;
5 60 5 charset Ljava/nio/charset/Charset;
6 60 6 size Ljava/lang/Long;
7 60 7 creationDate Ljava/time/ZonedDateTime;
8 60 8 modificationDate Ljava/time/ZonedDateTime;
9 60 9 readDate Ljava/time/ZonedDateTime;
10 59 10 i I
12 57 11 part Ljava/lang/String;
13 57 12 eqIndex I
15 55 13 attribute Ljava/lang/String;
19 55 14 value Ljava/lang/String;
24 34 15 idx1 I
25 34 16 idx2 I
Exception table:
from to target type
42 43 44 Class java.time.format.DateTimeParseException
47 48 49 Class java.time.format.DateTimeParseException
52 53 54 Class java.time.format.DateTimeParseException
MethodParameters:
Name Flags
contentDisposition
private static java.util.List<java.lang.String> tokenize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 1: iload 1
iflt 2
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.String
3: invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 6
5: new java.lang.IllegalArgumentException
dup
ldc "Content-Disposition header must not be empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.String
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 7: aload 3
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: iload 1
iflt 32
9: StackMap locals: java.util.List
StackMap stack:
iload 1
iconst_1
iadd
istore 4
start local 4 10: iconst_0
istore 5
start local 5 11: iconst_0
istore 6
start local 6 12: goto 25
13: StackMap locals: int int int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 14: iload 7
bipush 59
if_icmpne 17
15: iload 5
ifne 21
16: goto 26
17: StackMap locals: int
StackMap stack:
iload 6
ifne 21
iload 7
bipush 34
if_icmpne 21
18: iload 5
ifeq 19
iconst_0
goto 20
StackMap locals:
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 5
21: StackMap locals:
StackMap stack:
iload 6
ifne 22
iload 7
bipush 92
if_icmpne 22
iconst_1
goto 23
StackMap locals:
StackMap stack:
22: iconst_0
StackMap locals:
StackMap stack: int
23: istore 6
24: iinc 4 1
end local 7 25: StackMap locals:
StackMap stack:
iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 13
26: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_1
iadd
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
start local 7 27: aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifne 29
28: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals: java.lang.String
StackMap stack:
iload 4
istore 1
end local 7 end local 6 end local 5 end local 4 30: iload 1
aload 0
invokevirtual java.lang.String.length:()I
31: if_icmplt 9
32: StackMap locals: java.lang.String int java.lang.String java.util.List
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 headerValue Ljava/lang/String;
1 33 1 index I
4 33 2 type Ljava/lang/String;
7 33 3 parts Ljava/util/List<Ljava/lang/String;>;
10 30 4 nextIndex I
11 30 5 quoted Z
12 30 6 escaped Z
14 25 7 ch C
27 30 7 part Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
headerValue
private static java.lang.String decodeFilename(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
ldc "'input' String` should not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "'charset' should not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2
start local 2 3: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 20
6: StackMap locals: byte[] java.io.ByteArrayOutputStream int
StackMap stack:
aload 2
iload 4
baload
istore 5
start local 5 7: iload 5
invokestatic org.springframework.http.ContentDisposition.isRFC5987AttrChar:(B)Z
ifeq 11
8: aload 3
iload 5
i2c
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
9: iinc 4 1
10: goto 20
11: StackMap locals: int
StackMap stack:
iload 5
bipush 37
if_icmpne 19
iload 4
aload 2
arraylength
iconst_2
isub
if_icmpge 19
12: iconst_2
newarray 5
dup
iconst_0
aload 2
iload 4
iconst_1
iadd
baload
i2c
castore
dup
iconst_1
aload 2
iload 4
iconst_2
iadd
baload
i2c
castore
astore 6
start local 6 13: aload 3
aload 6
invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
14: goto 17
15: StackMap locals: java.lang.String java.nio.charset.Charset byte[] java.io.ByteArrayOutputStream int int char[]
StackMap stack: java.lang.NumberFormatException
astore 7
start local 7 16: new java.lang.IllegalArgumentException
dup
ldc "Invalid header field parameter format (as defined in RFC 5987)"
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 17: StackMap locals:
StackMap stack:
iinc 4 3
end local 6 18: goto 20
19: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid header field parameter format (as defined in RFC 5987)"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 20: StackMap locals:
StackMap stack:
iload 4
aload 2
arraylength
if_icmplt 6
21: aload 3
aload 1
invokestatic org.springframework.util.StreamUtils.copyToString:(Ljava/io/ByteArrayOutputStream;Ljava/nio/charset/Charset;)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 filename Ljava/lang/String;
0 22 1 charset Ljava/nio/charset/Charset;
3 22 2 value [B
4 22 3 baos Ljava/io/ByteArrayOutputStream;
5 22 4 index I
7 20 5 b B
13 18 6 array [C
16 17 7 ex Ljava/lang/NumberFormatException;
Exception table:
from to target type
13 14 15 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
filename
charset
private static boolean isRFC5987AttrChar(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 48
if_icmplt 1
iload 0
bipush 57
if_icmple 6
StackMap locals:
StackMap stack:
1: iload 0
bipush 97
if_icmplt 2
iload 0
bipush 122
if_icmple 6
StackMap locals:
StackMap stack:
2: iload 0
bipush 65
if_icmplt 3
iload 0
bipush 90
if_icmple 6
3: StackMap locals:
StackMap stack:
iload 0
bipush 33
if_icmpeq 6
iload 0
bipush 35
if_icmpeq 6
iload 0
bipush 36
if_icmpeq 6
iload 0
bipush 38
if_icmpeq 6
iload 0
bipush 43
if_icmpeq 6
iload 0
bipush 45
if_icmpeq 6
4: iload 0
bipush 46
if_icmpeq 6
iload 0
bipush 94
if_icmpeq 6
iload 0
bipush 95
if_icmpeq 6
iload 0
bipush 96
if_icmpeq 6
iload 0
bipush 124
if_icmpeq 6
iload 0
bipush 126
if_icmpeq 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 c B
MethodParameters:
Name Flags
c
private static java.lang.String escapeQuotationsInFilename(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
bipush 34
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 2
aload 0
bipush 92
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 15
6: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 7: iload 1
ifne 10
iload 4
bipush 34
if_icmpne 10
8: aload 2
ldc "\\\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: goto 11
10: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
iload 1
ifne 12
iload 4
bipush 92
if_icmpne 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 1
end local 4 14: iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 6
end local 3 16: iload 1
ifeq 18
17: aload 2
aload 2
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 filename Ljava/lang/String;
3 19 1 escaped Z
4 19 2 sb Ljava/lang/StringBuilder;
5 16 3 i I
7 14 4 c C
MethodParameters:
Name Flags
filename
private static java.lang.String encodeFilename(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
ldc "`input` is required"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "`charset` is required"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
aload 1
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ldc "ASCII does not require encoding"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
5: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aload 1
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 6
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
aload 1
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: ldc "Only UTF-8 and ISO-8859-1 supported."
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
8: aload 0
aload 1
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2
start local 2 9: aload 2
arraylength
istore 3
start local 3 10: new java.lang.StringBuilder
dup
iload 3
iconst_1
ishl
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 11: aload 4
aload 1
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 4
ldc "''"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 24
StackMap locals: java.lang.String java.nio.charset.Charset byte[] int java.lang.StringBuilder top int int byte[]
StackMap stack:
14: aload 8
iload 6
baload
istore 5
start local 5 15: iload 5
invokestatic org.springframework.http.ContentDisposition.isRFC5987AttrChar:(B)Z
ifeq 18
16: aload 4
iload 5
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: goto 23
18: StackMap locals: java.lang.String java.nio.charset.Charset byte[] int java.lang.StringBuilder int int int byte[]
StackMap stack:
aload 4
bipush 37
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: iload 5
iconst_4
ishr
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
invokestatic java.lang.Character.toUpperCase:(C)C
istore 9
start local 9 20: iload 5
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
invokestatic java.lang.Character.toUpperCase:(C)C
istore 10
start local 10 21: aload 4
iload 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
22: aload 4
iload 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 end local 5 23: StackMap locals: java.lang.String java.nio.charset.Charset byte[] int java.lang.StringBuilder top int int byte[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
iload 7
if_icmplt 14
25: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 input Ljava/lang/String;
0 26 1 charset Ljava/nio/charset/Charset;
9 26 2 source [B
10 26 3 len I
11 26 4 sb Ljava/lang/StringBuilder;
15 23 5 b B
20 23 9 hex1 C
21 23 10 hex2 C
MethodParameters:
Name Flags
input
charset
}
SourceFile: "ContentDisposition.java"
NestMembers:
org.springframework.http.ContentDisposition$Builder org.springframework.http.ContentDisposition$BuilderImpl
InnerClasses:
public abstract Builder = org.springframework.http.ContentDisposition$Builder of org.springframework.http.ContentDisposition
private BuilderImpl = org.springframework.http.ContentDisposition$BuilderImpl of org.springframework.http.ContentDisposition