public class org.glassfish.grizzly.http.multipart.MultipartScanner
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.grizzly.http.multipart.MultipartScanner
super_class: java.lang.Object
{
public static final java.lang.String BOUNDARY_ATTR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "boundary"
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.String MULTIPART_CONTENT_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "multipart"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http/multipart/MultipartScanner;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.http.multipart.MultipartScanner.LOGGER:Ljava/util/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/multipart/MultipartScanner;
public static void scan(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.multipart.MultipartEntryHandler, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.http.server.Request>);
descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.server.Request.getContentType:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "ContentType not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 4: aload 4
iconst_0
aaload
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 5: aload 5
arraylength
iconst_2
if_icmpne 7
6: ldc "multipart"
aload 5
iconst_0
aaload
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 8
7: StackMap locals: java.lang.String[] java.lang.String[]
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Not multipart request"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 9: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
10: astore 7
start local 7 11: iconst_1
istore 8
start local 8 12: goto 28
13: StackMap locals: java.lang.String java.util.Map int
StackMap stack:
aload 4
iload 8
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 9
start local 9 14: aload 9
ldc "="
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 10
start local 10 15: aload 10
arraylength
iconst_2
if_icmpne 27
16: aload 10
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 11
start local 11 17: aload 10
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 12
start local 12 18: aload 12
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 24
19: aload 12
iconst_1
20: aload 12
invokevirtual java.lang.String.length:()I
21: iconst_1
22: isub
23: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 12
24: StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int java.lang.String java.lang.String[] java.lang.String java.lang.String
StackMap stack:
aload 7
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: ldc "boundary"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
26: aload 12
astore 6
end local 12 end local 11 end local 10 end local 9 27: StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
28: iload 8
aload 4
arraylength
if_icmplt 13
end local 8 29: aload 6
ifnonnull 31
30: new java.lang.IllegalStateException
dup
ldc "Boundary not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.server.Request.getNIOInputStream:()Lorg/glassfish/grizzly/http/io/NIOInputStream;
astore 8
start local 8 32: aload 8
new org.glassfish.grizzly.http.multipart.MultipartReadHandler
dup
aload 0
33: aload 1
aload 2
34: new org.glassfish.grizzly.http.multipart.MultipartContext
dup
aload 6
aload 3
35: aload 7
36: invokespecial org.glassfish.grizzly.http.multipart.MultipartContext.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
invokespecial org.glassfish.grizzly.http.multipart.MultipartReadHandler.<init>:(Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/http/multipart/MultipartContext;)V
37: invokevirtual org.glassfish.grizzly.http.io.NIOInputStream.notifyAvailable:(Lorg/glassfish/grizzly/ReadHandler;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 38: goto 44
StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler
StackMap stack: java.lang.Exception
39: astore 3
start local 3 40: aload 2
ifnull 43
41: aload 2
aload 3
invokeinterface org.glassfish.grizzly.CompletionHandler.failed:(Ljava/lang/Throwable;)V
42: goto 44
43: StackMap locals: java.lang.Exception
StackMap stack:
getstatic org.glassfish.grizzly.http.multipart.MultipartScanner.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Error occurred, but no CompletionHandler installed to handle it"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 44: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 request Lorg/glassfish/grizzly/http/server/Request;
0 45 1 partHandler Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;
0 45 2 completionHandler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/server/Request;>;
1 38 3 contentType Ljava/lang/String;
4 38 4 contentTypeParams [Ljava/lang/String;
5 38 5 contentSubType [Ljava/lang/String;
9 38 6 boundary Ljava/lang/String;
11 38 7 contentTypeProperties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
12 29 8 i I
14 27 9 param Ljava/lang/String;
15 27 10 paramValue [Ljava/lang/String;
17 27 11 key Ljava/lang/String;
18 27 12 value Ljava/lang/String;
32 38 8 nioInputStream Lorg/glassfish/grizzly/http/io/NIOInputStream;
40 44 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 38 39 Class java.lang.Exception
Signature: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/server/Request;>;)V
MethodParameters:
Name Flags
request final
partHandler final
completionHandler final
public static void scan(org.glassfish.grizzly.http.multipart.MultipartEntry, org.glassfish.grizzly.http.multipart.MultipartEntryHandler, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.http.multipart.MultipartEntry>);
descriptor: (Lorg/glassfish/grizzly/http/multipart/MultipartEntry;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.multipart.MultipartEntry.getContentType:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 2: aload 4
iconst_0
aaload
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 3: aload 5
arraylength
iconst_2
if_icmpne 5
4: ldc "multipart"
aload 5
iconst_0
aaload
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 6
5: StackMap locals: java.lang.String java.lang.String[] java.lang.String[]
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Not multipart request"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
8: astore 7
start local 7 9: iconst_1
istore 8
start local 8 10: goto 26
11: StackMap locals: java.lang.String java.util.Map int
StackMap stack:
aload 4
iload 8
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 9
start local 9 12: aload 9
ldc "="
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 10
start local 10 13: aload 10
arraylength
iconst_2
if_icmpne 25
14: aload 10
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 11
start local 11 15: aload 10
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 12
start local 12 16: aload 12
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 22
17: aload 12
iconst_1
18: aload 12
invokevirtual java.lang.String.length:()I
19: iconst_1
20: isub
21: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 12
22: StackMap locals: org.glassfish.grizzly.http.multipart.MultipartEntry org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int java.lang.String java.lang.String[] java.lang.String java.lang.String
StackMap stack:
aload 7
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: ldc "boundary"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: aload 12
astore 6
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.glassfish.grizzly.http.multipart.MultipartEntry org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
26: iload 8
aload 4
arraylength
if_icmplt 11
end local 8 27: aload 6
ifnonnull 29
28: new java.lang.IllegalStateException
dup
ldc "Boundary not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.multipart.MultipartEntry.getNIOInputStream:()Lorg/glassfish/grizzly/http/io/NIOInputStream;
astore 8
start local 8 30: aload 8
new org.glassfish.grizzly.http.multipart.MultipartReadHandler
dup
aload 0
31: aload 1
aload 2
32: new org.glassfish.grizzly.http.multipart.MultipartContext
dup
aload 6
aload 3
33: aload 7
34: invokespecial org.glassfish.grizzly.http.multipart.MultipartContext.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
invokespecial org.glassfish.grizzly.http.multipart.MultipartReadHandler.<init>:(Lorg/glassfish/grizzly/http/multipart/MultipartEntry;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/http/multipart/MultipartContext;)V
35: invokevirtual org.glassfish.grizzly.http.io.NIOInputStream.notifyAvailable:(Lorg/glassfish/grizzly/ReadHandler;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 36: goto 42
StackMap locals: org.glassfish.grizzly.http.multipart.MultipartEntry org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler
StackMap stack: java.lang.Exception
37: astore 3
start local 3 38: aload 2
ifnull 41
39: aload 2
aload 3
invokeinterface org.glassfish.grizzly.CompletionHandler.failed:(Ljava/lang/Throwable;)V
40: goto 42
41: StackMap locals: java.lang.Exception
StackMap stack:
getstatic org.glassfish.grizzly.http.multipart.MultipartScanner.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Error occurred, but no CompletionHandler installed to handle it"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 42: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 multipartMixedEntry Lorg/glassfish/grizzly/http/multipart/MultipartEntry;
0 43 1 partHandler Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;
0 43 2 completionHandler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/multipart/MultipartEntry;>;
1 36 3 contentType Ljava/lang/String;
2 36 4 contentTypeParams [Ljava/lang/String;
3 36 5 contentSubType [Ljava/lang/String;
7 36 6 boundary Ljava/lang/String;
9 36 7 contentTypeProperties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
10 27 8 i I
12 25 9 param Ljava/lang/String;
13 25 10 paramValue [Ljava/lang/String;
15 25 11 key Ljava/lang/String;
16 25 12 value Ljava/lang/String;
30 36 8 nioInputStream Lorg/glassfish/grizzly/http/io/NIOInputStream;
38 42 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 36 37 Class java.lang.Exception
Signature: (Lorg/glassfish/grizzly/http/multipart/MultipartEntry;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/multipart/MultipartEntry;>;)V
MethodParameters:
Name Flags
multipartMixedEntry final
partHandler final
completionHandler final
}
SourceFile: "MultipartScanner.java"