public final class org.apache.http.conn.util.PublicSuffixMatcher
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.http.conn.util.PublicSuffixMatcher
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType> rules;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
private final java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType> exceptions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
public void <init>(java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;Ljava/util/Collection;)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
getstatic org.apache.http.conn.util.DomainType.UNKNOWN:Lorg/apache/http/conn/util/DomainType;
aload 1
aload 2
invokespecial org.apache.http.conn.util.PublicSuffixMatcher.<init>:(Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection;Ljava/util/Collection;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 2 1 rules Ljava/util/Collection<Ljava/lang/String;>;
0 2 2 exceptions Ljava/util/Collection<Ljava/lang/String;>;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
rules final
exceptions final
public void <init>(org.apache.http.conn.util.DomainType, java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
descriptor: (Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Domain type"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "Domain suffix rules"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
aload 2
invokeinterface java.util.Collection.size:()I
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
4: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher org.apache.http.conn.util.DomainType java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
aload 4
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
9: aload 3
ifnull 14
10: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals:
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 12: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
aload 4
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher org.apache.http.conn.util.DomainType java.util.Collection java.util.Collection
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 15 1 domainType Lorg/apache/http/conn/util/DomainType;
0 15 2 rules Ljava/util/Collection<Ljava/lang/String;>;
0 15 3 exceptions Ljava/util/Collection<Ljava/lang/String;>;
6 7 4 rule Ljava/lang/String;
12 13 4 exception Ljava/lang/String;
Signature: (Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
domainType final
rules final
exceptions final
public void <init>(java.util.Collection<org.apache.http.conn.util.PublicSuffixList>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Domain suffix lists"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
4: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 18
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.conn.util.PublicSuffixList
astore 2
start local 2 6: aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixList.getType:()Lorg/apache/http/conn/util/DomainType;
astore 4
start local 4 7: aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixList.getRules:()Ljava/util/List;
astore 5
start local 5 8: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection org.apache.http.conn.util.PublicSuffixList java.util.Iterator org.apache.http.conn.util.DomainType java.util.List top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 10: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
aload 6
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixList.getExceptions:()Ljava/util/List;
astore 6
start local 6 13: aload 6
ifnull 18
14: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection org.apache.http.conn.util.PublicSuffixList java.util.Iterator org.apache.http.conn.util.DomainType java.util.List java.util.List top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 16: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
aload 7
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 6 end local 5 end local 4 end local 2 18: StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 20 1 lists Ljava/util/Collection<Lorg/apache/http/conn/util/PublicSuffixList;>;
6 18 2 list Lorg/apache/http/conn/util/PublicSuffixList;
7 18 4 domainType Lorg/apache/http/conn/util/DomainType;
8 18 5 rules Ljava/util/List<Ljava/lang/String;>;
10 11 6 rule Ljava/lang/String;
13 18 6 exceptions Ljava/util/List<Ljava/lang/String;>;
16 17 7 exception Ljava/lang/String;
Signature: (Ljava/util/Collection<Lorg/apache/http/conn/util/PublicSuffixList;>;)V
MethodParameters:
Name Flags
lists final
private static boolean hasEntry(java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType>, java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/util/Map;Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.http.conn.util.DomainType
astore 3
start local 3 3: aload 3
ifnonnull 4
iconst_0
goto 6
StackMap locals: org.apache.http.conn.util.DomainType
StackMap stack:
4: aload 2
ifnull 5
aload 3
aload 2
invokevirtual org.apache.http.conn.util.DomainType.equals:(Ljava/lang/Object;)Z
ifne 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 map Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
0 7 1 rule Ljava/lang/String;
0 7 2 expectedType Lorg/apache/http/conn/util/DomainType;
3 7 3 domainType Lorg/apache/http/conn/util/DomainType;
Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
MethodParameters:
Name Flags
map final
rule final
expectedType final
private boolean hasRule(java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
aload 1
aload 2
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.hasEntry:(Ljava/util/Map;Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 1 1 rule Ljava/lang/String;
0 1 2 expectedType Lorg/apache/http/conn/util/DomainType;
MethodParameters:
Name Flags
rule final
expectedType final
private boolean hasException(java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
aload 1
aload 2
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.hasEntry:(Ljava/util/Map;Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 1 1 exception Ljava/lang/String;
0 1 2 expectedType Lorg/apache/http/conn/util/DomainType;
MethodParameters:
Name Flags
exception final
expectedType final
public java.lang.String getDomainRoot(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.getDomainRoot:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 1 1 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain final
public java.lang.String getDomainRoot(java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: aload 1
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 4
start local 4 6: goto 21
7: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 4
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.hasException:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ifeq 9
8: aload 4
areturn
9: StackMap locals:
StackMap stack:
aload 0
aload 4
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.hasRule:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ifeq 11
10: goto 22
11: StackMap locals:
StackMap stack:
aload 4
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 12: iload 5
iconst_m1
if_icmpeq 13
aload 4
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 14
StackMap locals: int
StackMap stack:
13: aconst_null
StackMap locals:
StackMap stack: java.lang.String
14: astore 6
start local 6 15: aload 6
ifnull 18
16: aload 0
new java.lang.StringBuilder
dup
ldc "*."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.hasRule:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ifeq 18
17: goto 22
18: StackMap locals: java.lang.String
StackMap stack:
iload 5
iconst_m1
if_icmpeq 20
19: aload 4
astore 3
20: StackMap locals:
StackMap stack:
aload 6
astore 4
end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 4
ifnonnull 7
22: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 23 1 domain Ljava/lang/String;
0 23 2 expectedType Lorg/apache/http/conn/util/DomainType;
5 23 3 domainName Ljava/lang/String;
6 23 4 segment Ljava/lang/String;
12 21 5 nextdot I
15 21 6 nextSegment Ljava/lang/String;
MethodParameters:
Name Flags
domain final
expectedType final
public boolean matches(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.matches:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 1 1 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain final
public boolean matches(java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
3: aload 1
ldc "."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 5
StackMap locals:
StackMap stack: org.apache.http.conn.util.PublicSuffixMatcher
4: aload 1
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String org.apache.http.conn.util.DomainType
StackMap stack: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String
5: aload 2
6: invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.getDomainRoot:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
astore 3
start local 3 7: aload 3
ifnonnull 8
iconst_1
ireturn
StackMap locals: java.lang.String
StackMap stack:
8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 9 1 domain Ljava/lang/String;
0 9 2 expectedType Lorg/apache/http/conn/util/DomainType;
7 9 3 domainRoot Ljava/lang/String;
MethodParameters:
Name Flags
domain final
expectedType final
}
SourceFile: "PublicSuffixMatcher.java"
RuntimeInvisibleAnnotations:
org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.SAFE:Lorg/apache/http/annotation/ThreadingBehavior;)