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 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 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:
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:
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:
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:
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;
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;
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.encodeHeaderFieldParam:(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 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=15, 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 53
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 51
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
aload 11
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)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 52
22: StackMap locals: java.lang.String
StackMap stack:
aload 13
ldc "filename*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
23: aload 14
invokestatic org.springframework.http.ContentDisposition.decodeHeaderFieldParam:(Ljava/lang/String;)Ljava/lang/String;
astore 4
24: aload 14
iconst_0
aload 14
bipush 39
invokevirtual java.lang.String.indexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 5
25: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aload 5
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 26
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 26
iconst_0
goto 27
StackMap locals:
StackMap stack:
26: iconst_1
27: StackMap locals:
StackMap stack: int
ldc "Charset should be UTF-8 or ISO-8859-1"
28: invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
29: goto 52
30: StackMap locals:
StackMap stack:
aload 13
ldc "filename"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
aload 4
ifnonnull 33
31: aload 14
astore 4
32: goto 52
33: StackMap locals:
StackMap stack:
aload 13
ldc "size"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
34: aload 14
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 6
35: goto 52
36: StackMap locals:
StackMap stack:
aload 13
ldc "creation-date"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
37: 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
38: goto 52
39: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
pop
40: goto 52
41: StackMap locals:
StackMap stack:
aload 13
ldc "modification-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 8
43: goto 52
44: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
pop
45: goto 52
46: StackMap locals:
StackMap stack:
aload 13
ldc "read-date"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 52
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 9
48: goto 52
49: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
pop
end local 14 end local 13 50: goto 52
51: 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 52: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
53: iload 10
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 11
end local 10 54: 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 55 0 contentDisposition Ljava/lang/String;
1 55 1 parts Ljava/util/List<Ljava/lang/String;>;
2 55 2 type Ljava/lang/String;
3 55 3 name Ljava/lang/String;
4 55 4 filename Ljava/lang/String;
5 55 5 charset Ljava/nio/charset/Charset;
6 55 6 size Ljava/lang/Long;
7 55 7 creationDate Ljava/time/ZonedDateTime;
8 55 8 modificationDate Ljava/time/ZonedDateTime;
9 55 9 readDate Ljava/time/ZonedDateTime;
10 54 10 i I
12 52 11 part Ljava/lang/String;
13 52 12 eqIndex I
15 50 13 attribute Ljava/lang/String;
19 50 14 value Ljava/lang/String;
Exception table:
from to target type
37 38 39 Class java.time.format.DateTimeParseException
42 43 44 Class java.time.format.DateTimeParseException
47 48 49 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=7, 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 28
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: goto 21
12: StackMap locals: int int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 13: iload 6
bipush 59
if_icmpne 16
14: iload 5
ifne 20
15: goto 22
16: StackMap locals: int
StackMap stack:
iload 6
bipush 34
if_icmpne 20
17: iload 5
ifeq 18
iconst_0
goto 19
StackMap locals:
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: istore 5
20: StackMap locals:
StackMap stack:
iinc 4 1
end local 6 21: StackMap locals:
StackMap stack:
iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 12
22: 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 6
start local 6 23: aload 6
invokevirtual java.lang.String.isEmpty:()Z
ifne 25
24: aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals: java.lang.String
StackMap stack:
iload 4
istore 1
end local 6 end local 5 end local 4 26: iload 1
aload 0
invokevirtual java.lang.String.length:()I
27: if_icmplt 9
28: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 headerValue Ljava/lang/String;
1 29 1 index I
4 29 2 type Ljava/lang/String;
7 29 3 parts Ljava/util/List<Ljava/lang/String;>;
10 26 4 nextIndex I
11 26 5 quoted Z
13 21 6 ch C
23 26 6 part Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
headerValue
private static java.lang.String (java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 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 0
bipush 39
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 2: aload 0
bipush 39
iload 1
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 2
start local 2 3: iload 1
iconst_m1
if_icmpeq 4
iload 2
iconst_m1
if_icmpne 5
4: StackMap locals: int int
StackMap stack:
aload 0
areturn
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 3
start local 3 6: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aload 3
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 7
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
aload 3
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 7
iconst_0
goto 8
StackMap locals: java.nio.charset.Charset
StackMap stack:
7: iconst_1
8: StackMap locals:
StackMap stack: int
ldc "Charset should be UTF-8 or ISO-8859-1"
9: invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
10: aload 0
iload 2
iconst_1
iadd
aload 0
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 3
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 4
start local 4 11: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 5
start local 5 12: iconst_0
istore 6
start local 6 13: goto 25
14: StackMap locals: byte[] java.io.ByteArrayOutputStream int
StackMap stack:
aload 4
iload 6
baload
istore 7
start local 7 15: iload 7
invokestatic org.springframework.http.ContentDisposition.isRFC5987AttrChar:(B)Z
ifeq 19
16: aload 5
iload 7
i2c
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
17: iinc 6 1
18: goto 25
19: StackMap locals: int
StackMap stack:
iload 7
bipush 37
if_icmpne 24
20: iconst_2
newarray 5
dup
iconst_0
aload 4
iload 6
iconst_1
iadd
baload
i2c
castore
dup
iconst_1
aload 4
iload 6
iconst_2
iadd
baload
i2c
castore
astore 8
start local 8 21: aload 5
aload 8
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
22: iinc 6 3
end local 8 23: goto 25
24: 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 7 25: StackMap locals:
StackMap stack:
iload 6
aload 4
arraylength
if_icmplt 14
26: new java.lang.String
dup
aload 5
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
aload 3
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
areturn
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 27 0 input Ljava/lang/String;
2 27 1 firstQuoteIndex I
3 27 2 secondQuoteIndex I
6 27 3 charset Ljava/nio/charset/Charset;
11 27 4 value [B
12 27 5 bos Ljava/io/ByteArrayOutputStream;
13 27 6 index I
15 25 7 b B
21 23 8 array [C
MethodParameters:
Name Flags
input
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 (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 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: getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
aload 1
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aload 1
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifne 5
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 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
6: StackMap locals:
StackMap stack: int
ldc "Charset should be UTF-8 or ISO-8859-1"
7: 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