public class org.glassfish.jersey.message.internal.LanguageTag
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.jersey.message.internal.LanguageTag
super_class: java.lang.Object
{
java.lang.String tag;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String primaryTag;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String subTags;
descriptor: Ljava/lang/String;
flags: (0x0000)
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
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/jersey/message/internal/LanguageTag;
public static org.glassfish.jersey.message.internal.LanguageTag valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/glassfish/jersey/message/internal/LanguageTag;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.glassfish.jersey.message.internal.LanguageTag
dup
invokespecial org.glassfish.jersey.message.internal.LanguageTag.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.glassfish.jersey.message.internal.LanguageTag.parse:(Ljava/lang/String;)V
2: goto 5
StackMap locals: java.lang.String org.glassfish.jersey.message.internal.LanguageTag
StackMap stack: java.text.ParseException
3: astore 2
start local 2 4: new java.lang.IllegalArgumentException
dup
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 s Ljava/lang/String;
1 6 1 lt Lorg/glassfish/jersey/message/internal/LanguageTag;
4 5 2 pe Ljava/text/ParseException;
Exception table:
from to target type
1 2 3 Class java.text.ParseException
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
s final
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnull 4
aload 2
invokevirtual java.lang.String.length:()I
ifle 4
2: aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
3: goto 5
4: StackMap locals: org.glassfish.jersey.message.internal.LanguageTag java.lang.String java.lang.String
StackMap stack:
aload 0
aload 1
putfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
6: aload 0
aload 2
putfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 8 1 primaryTag Ljava/lang/String;
0 8 2 subTags Ljava/lang/String;
MethodParameters:
Name Flags
primaryTag final
subTags final
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.glassfish.jersey.message.internal.HttpHeaderReader.newInstance:(Ljava/lang/String;)Lorg/glassfish/jersey/message/internal/HttpHeaderReader;
invokespecial org.glassfish.jersey.message.internal.LanguageTag.<init>:(Lorg/glassfish/jersey/message/internal/HttpHeaderReader;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 2 1 header Ljava/lang/String;
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
header final
public void (org.glassfish.jersey.message.internal.HttpHeaderReader);
descriptor: (Lorg/glassfish/jersey/message/internal/HttpHeaderReader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual org.glassfish.jersey.message.internal.HttpHeaderReader.hasNext:()Z
pop
2: aload 0
aload 1
invokevirtual org.glassfish.jersey.message.internal.HttpHeaderReader.nextToken:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
putfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
3: aload 1
invokevirtual org.glassfish.jersey.message.internal.HttpHeaderReader.hasNext:()Z
ifeq 5
4: new java.text.ParseException
dup
ldc "Invalid Language tag"
aload 1
invokevirtual org.glassfish.jersey.message.internal.HttpHeaderReader.getIndex:()I
invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
athrow
5: StackMap locals: org.glassfish.jersey.message.internal.LanguageTag org.glassfish.jersey.message.internal.HttpHeaderReader
StackMap stack:
aload 0
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
invokevirtual org.glassfish.jersey.message.internal.LanguageTag.parse:(Ljava/lang/String;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 7 1 reader Lorg/glassfish/jersey/message/internal/HttpHeaderReader;
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
reader final
public final boolean isCompatible(java.util.Locale);
descriptor: (Ljava/util/Locale;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
ifnonnull 4
3: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
aload 1
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
aload 1
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
5: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
aload 1
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 8 1 tag Ljava/util/Locale;
MethodParameters:
Name Flags
tag final
public final java.util.Locale getAsLocale();
descriptor: ()Ljava/util/Locale;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
ifnonnull 2
1: new java.util.Locale
dup
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
invokespecial java.util.Locale.<init>:(Ljava/lang/String;)V
goto 3
2: StackMap locals:
StackMap stack:
new java.util.Locale
dup
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals:
StackMap stack: java.util.Locale
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
protected final void parse(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.glassfish.jersey.message.internal.LanguageTag.isValid:(Ljava/lang/String;)Z
ifne 2
1: new java.text.ParseException
dup
new java.lang.StringBuilder
dup
ldc "String, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", is not a valid language tag"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
bipush 45
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 7
4: aload 0
aload 1
putfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
5: aload 0
aconst_null
putfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
6: goto 9
7: StackMap locals: int
StackMap stack:
aload 0
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
8: aload 0
aload 1
iload 2
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 10 1 languageTag Ljava/lang/String;
3 10 2 index I
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
languageTag final
private boolean isValid(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 19
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: iload 5
bipush 45
if_icmpne 11
6: iload 2
ifne 8
7: iconst_0
ireturn
8: StackMap locals: int
StackMap stack:
iconst_0
istore 2
9: iinc 3 1
10: goto 18
StackMap locals:
StackMap stack:
11: bipush 65
iload 5
if_icmpgt 12
iload 5
bipush 90
if_icmple 14
StackMap locals:
StackMap stack:
12: bipush 97
iload 5
if_icmpgt 13
iload 5
bipush 122
if_icmple 14
StackMap locals:
StackMap stack:
13: iload 3
ifle 17
bipush 48
iload 5
if_icmpgt 17
iload 5
bipush 57
if_icmpgt 17
14: StackMap locals:
StackMap stack:
iinc 2 1
15: iload 2
bipush 8
if_icmple 18
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 4 20: iload 2
ifeq 21
iconst_1
ireturn
StackMap locals:
StackMap stack:
21: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 22 1 tag Ljava/lang/String;
1 22 2 alphanumCount I
2 22 3 dash I
3 20 4 i I
5 18 5 c C
MethodParameters:
Name Flags
tag final
public final java.lang.String getTag();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
public final java.lang.String getPrimaryTag();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
public final java.lang.String getSubTags();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
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.glassfish.jersey.message.internal.LanguageTag
ifeq 3
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.glassfish.jersey.message.internal.LanguageTag
astore 2
start local 2 5: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
ifnull 6
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
aload 2
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 7
StackMap locals: org.glassfish.jersey.message.internal.LanguageTag
StackMap stack:
6: aload 2
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
ifnull 8
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
ifnull 9
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
aload 2
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 10
StackMap locals:
StackMap stack:
9: aload 2
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
ifnull 11
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
ifnull 12
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
aload 2
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 13
StackMap locals:
StackMap stack:
12: aload 2
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
ifnull 14
StackMap locals:
StackMap stack:
13: iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
0 16 1 o Ljava/lang/Object;
5 16 2 that Lorg/glassfish/jersey/message/internal/LanguageTag;
MethodParameters:
Name Flags
o final
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.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
ifnull 1
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.tag:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: bipush 31
iload 1
imul
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
ifnull 4
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
goto 5
StackMap locals: org.glassfish.jersey.message.internal.LanguageTag int
StackMap stack: int
4: iconst_0
StackMap locals: org.glassfish.jersey.message.internal.LanguageTag int
StackMap stack: int int
5: iadd
istore 1
6: bipush 31
iload 1
imul
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
ifnull 7
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
goto 8
StackMap locals:
StackMap stack: int
7: iconst_0
StackMap locals: org.glassfish.jersey.message.internal.LanguageTag int
StackMap stack: int int
8: iadd
istore 1
9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
3 10 1 result I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.primaryTag:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
ifnonnull 1
ldc ""
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: aload 0
getfield org.glassfish.jersey.message.internal.LanguageTag.subTags:Ljava/lang/String;
StackMap locals: org.glassfish.jersey.message.internal.LanguageTag
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/jersey/message/internal/LanguageTag;
}
SourceFile: "LanguageTag.java"