public final class org.apache.commons.fileupload.util.mime.MimeUtility
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.commons.fileupload.util.mime.MimeUtility
super_class: java.lang.Object
{
private static final java.lang.String US_ASCII_CHARSET;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "US-ASCII"
private static final java.lang.String BASE64_ENCODING_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "B"
private static final java.lang.String QUOTEDPRINTABLE_ENCODING_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Q"
private static final java.lang.String ENCODED_TOKEN_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "=?"
private static final java.lang.String ENCODED_TOKEN_FINISHER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "?="
private static final java.lang.String LINEAR_WHITESPACE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: " \t\r\n"
private static final java.util.Map<java.lang.String, java.lang.String> MIME2JAVA;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
1: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "iso-2022-cn"
ldc "ISO2022CN"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "iso-2022-kr"
ldc "ISO2022KR"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "utf-8"
ldc "UTF8"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "utf8"
ldc "UTF8"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "ja_jp.iso2022-7"
ldc "ISO2022JP"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "ja_jp.eucjp"
ldc "EUCJIS"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "euc-kr"
ldc "KSC5601"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "euckr"
ldc "KSC5601"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "us-ascii"
ldc "ISO-8859-1"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
ldc "x-us-ascii"
ldc "ISO-8859-1"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: 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/apache/commons/fileupload/util/mime/MimeUtility;
public static java.lang.String decodeText(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=1
start local 0 0: aload 0
ldc "=?"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifge 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 4: iconst_m1
istore 3
start local 3 5: iconst_m1
istore 4
start local 4 6: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 42
9: StackMap locals: java.lang.String int int int int java.lang.StringBuilder int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 10: ldc " \t\r\n"
iload 7
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 21
11: iload 1
istore 3
12: goto 19
13: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 7
14: ldc " \t\r\n"
iload 7
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 17
15: iinc 1 1
16: goto 19
17: StackMap locals:
StackMap stack:
iload 1
istore 4
18: goto 42
19: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 13
20: goto 42
21: StackMap locals:
StackMap stack:
iload 1
istore 8
start local 8 22: goto 26
23: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 7
24: ldc " \t\r\n"
iload 7
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 27
25: iinc 1 1
26: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 23
27: StackMap locals:
StackMap stack:
aload 0
iload 8
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
start local 9 28: aload 9
ldc "=?"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 37
29: aload 9
invokestatic org.apache.commons.fileupload.util.mime.MimeUtility.decodeWord:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 30: iload 6
ifne 33
iload 3
iconst_m1
if_icmpeq 33
31: aload 5
aload 0
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
32: iconst_m1
istore 3
33: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iconst_1
istore 6
34: aload 5
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: goto 42
end local 10 36: StackMap locals: java.lang.String int int int int java.lang.StringBuilder int int int java.lang.String
StackMap stack: org.apache.commons.fileupload.util.mime.ParseException
pop
37: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpeq 40
38: aload 5
aload 0
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: iconst_m1
istore 3
40: StackMap locals:
StackMap stack:
iconst_0
istore 6
41: aload 5
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 end local 8 end local 7 42: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 9
43: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 44 0 text Ljava/lang/String;
3 44 1 offset I
4 44 2 endOffset I
5 44 3 startWhiteSpace I
6 44 4 endWhiteSpace I
7 44 5 decodedText Ljava/lang/StringBuilder;
8 44 6 previousTokenEncoded Z
10 42 7 ch C
22 42 8 wordStart I
28 42 9 word Ljava/lang/String;
30 36 10 decodedWord Ljava/lang/String;
Exception table:
from to target type
29 35 36 Class org.apache.commons.fileupload.util.mime.ParseException
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
text
private static java.lang.String decodeWord(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
ldc "=?"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
1: new org.apache.commons.fileupload.util.mime.ParseException
dup
new java.lang.StringBuilder
dup
ldc "Invalid RFC 2047 encoded-word: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.commons.fileupload.util.mime.ParseException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
bipush 63
iconst_2
invokevirtual java.lang.String.indexOf:(II)I
istore 1
start local 1 3: iload 1
iconst_m1
if_icmpne 5
4: new org.apache.commons.fileupload.util.mime.ParseException
dup
new java.lang.StringBuilder
dup
ldc "Missing charset in RFC 2047 encoded-word: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.commons.fileupload.util.mime.ParseException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 0
iconst_2
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 2
start local 2 6: aload 0
bipush 63
iload 1
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 3
start local 3 7: iload 3
iconst_m1
if_icmpne 9
8: new org.apache.commons.fileupload.util.mime.ParseException
dup
new java.lang.StringBuilder
dup
ldc "Missing encoding in RFC 2047 encoded-word: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.commons.fileupload.util.mime.ParseException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.lang.String int
StackMap stack:
aload 0
iload 1
iconst_1
iadd
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 10: aload 0
ldc "?="
iload 3
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
start local 5 11: iload 5
iconst_m1
if_icmpne 13
12: new org.apache.commons.fileupload.util.mime.ParseException
dup
new java.lang.StringBuilder
dup
ldc "Missing encoded text in RFC 2047 encoded-word: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.commons.fileupload.util.mime.ParseException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.lang.String int
StackMap stack:
aload 0
iload 3
iconst_1
iadd
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 14: aload 6
invokevirtual java.lang.String.length:()I
ifne 16
15: ldc ""
areturn
16: StackMap locals: java.lang.String
StackMap stack:
new java.io.ByteArrayOutputStream
dup
aload 6
invokevirtual java.lang.String.length:()I
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 7
start local 7 17: aload 6
ldc "US-ASCII"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 8
start local 8 18: aload 4
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 8
aload 7
invokestatic org.apache.commons.fileupload.util.mime.Base64Decoder.decode:([BLjava/io/OutputStream;)I
pop
20: goto 25
StackMap locals: java.io.ByteArrayOutputStream byte[]
StackMap stack:
21: aload 4
ldc "Q"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 8
aload 7
invokestatic org.apache.commons.fileupload.util.mime.QuotedPrintableDecoder.decode:([BLjava/io/OutputStream;)I
pop
23: goto 25
24: StackMap locals:
StackMap stack:
new java.io.UnsupportedEncodingException
dup
new java.lang.StringBuilder
dup
ldc "Unknown RFC 2047 encoding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 9
start local 9 26: new java.lang.String
dup
aload 9
aload 2
invokestatic org.apache.commons.fileupload.util.mime.MimeUtility.javaCharset:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
27: areturn
end local 9 end local 8 end local 7 28: StackMap locals: java.lang.String int java.lang.String int java.lang.String int java.lang.String
StackMap stack: java.io.IOException
pop
29: new java.io.UnsupportedEncodingException
dup
ldc "Invalid RFC 2047 encoding"
invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
athrow
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 30 0 word Ljava/lang/String;
3 30 1 charsetPos I
6 30 2 charset Ljava/lang/String;
7 30 3 encodingPos I
10 30 4 encoding Ljava/lang/String;
11 30 5 encodedTextPos I
14 30 6 encodedText Ljava/lang/String;
17 28 7 out Ljava/io/ByteArrayOutputStream;
18 28 8 encodedData [B
26 28 9 decodedData [B
Exception table:
from to target type
16 27 28 Class java.io.IOException
Exceptions:
throws org.apache.commons.fileupload.util.mime.ParseException, java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
word
private static java.lang.String javaCharset(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.commons.fileupload.util.mime.MimeUtility.MIME2JAVA:Ljava/util/Map;
aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 3: aload 1
ifnonnull 5
4: aload 0
areturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 charset Ljava/lang/String;
3 6 1 mappedCharset Ljava/lang/String;
MethodParameters:
Name Flags
charset
}
SourceFile: "MimeUtility.java"