public class com.sun.jndi.ldap.DefaultLdapDnsProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.jndi.ldap.DefaultLdapDnsProvider
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.jndi.ldap.DefaultLdapDnsProvider this
0: .line 36
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.jndi.ldap.DefaultLdapDnsProvider this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/DefaultLdapDnsProvider;
public java.util.Optional<javax.naming.ldap.spi.LdapDnsProviderResult> lookupEndpoints(java.lang.String, java.util.Map<?, ?>);
descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=17, args_size=3
start local 0 // com.sun.jndi.ldap.DefaultLdapDnsProvider this
start local 1 // java.lang.String url
start local 2 // java.util.Map env
0: .line 42
aload 1 /* url */
ifnull 1
aload 2 /* env */
ifnonnull 2
1: .line 43
StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 47
StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4 /* endpoints */
start local 4 // java.util.List endpoints
3: .line 48
new com.sun.jndi.ldap.LdapURL
dup
aload 1 /* url */
invokespecial com.sun.jndi.ldap.LdapURL.<init>:(Ljava/lang/String;)V
astore 5 /* ldapUrl */
start local 5 // com.sun.jndi.ldap.LdapURL ldapUrl
4: .line 49
aload 5 /* ldapUrl */
invokevirtual com.sun.jndi.ldap.LdapURL.getDN:()Ljava/lang/String;
astore 6 /* dn */
start local 6 // java.lang.String dn
5: .line 50
aload 5 /* ldapUrl */
invokevirtual com.sun.jndi.ldap.LdapURL.getHost:()Ljava/lang/String;
astore 7 /* host */
start local 7 // java.lang.String host
6: .line 51
aload 5 /* ldapUrl */
invokevirtual com.sun.jndi.ldap.LdapURL.getPort:()I
istore 8 /* port */
start local 8 // int port
7: .line 56
aload 7 /* host */
ifnonnull 25
8: .line 57
iload 8 /* port */
iconst_m1
if_icmpne 25
9: .line 58
aload 6 /* dn */
ifnull 25
10: .line 59
aload 6 /* dn */
invokestatic com.sun.jndi.ldap.ServiceLocator.mapDnToDomainName:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 3 /* domainName */
start local 3 // java.lang.String domainName
11: ifnull 25
12: .line 60
aload 3 /* domainName */
aload 2 /* env */
invokestatic com.sun.jndi.ldap.ServiceLocator.getLdapService:(Ljava/lang/String;Ljava/util/Map;)[Ljava/lang/String;
dup
astore 9 /* hostports */
start local 9 // java.lang.String[] hostports
13: ifnull 25
14: .line 63
new java.lang.StringBuilder
dup
aload 5 /* ldapUrl */
invokevirtual com.sun.jndi.ldap.LdapURL.getScheme:()Ljava/lang/String;
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10 /* scheme */
start local 10 // java.lang.String scheme
15: .line 64
aload 5 /* ldapUrl */
invokevirtual com.sun.jndi.ldap.LdapURL.getQuery:()Ljava/lang/String;
astore 11 /* query */
start local 11 // java.lang.String query
16: .line 65
new java.lang.StringBuilder
dup
aload 5 /* ldapUrl */
invokevirtual com.sun.jndi.ldap.LdapURL.getPath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11 /* query */
ifnull 17
aload 11 /* query */
goto 18
StackMap locals: com.sun.jndi.ldap.DefaultLdapDnsProvider java.lang.String java.util.Map java.lang.String java.util.List com.sun.jndi.ldap.LdapURL java.lang.String java.lang.String int java.lang.String[] java.lang.String java.lang.String
StackMap stack: java.lang.StringBuilder
17: ldc ""
StackMap locals: com.sun.jndi.ldap.DefaultLdapDnsProvider java.lang.String java.util.Map java.lang.String java.util.List com.sun.jndi.ldap.LdapURL java.lang.String java.lang.String int java.lang.String[] java.lang.String java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12 /* urlSuffix */
start local 12 // java.lang.String urlSuffix
19: .line 66
aload 9 /* hostports */
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 23
StackMap locals: com.sun.jndi.ldap.DefaultLdapDnsProvider java.lang.String java.util.Map java.lang.String java.util.List com.sun.jndi.ldap.LdapURL java.lang.String java.lang.String int java.lang.String[] java.lang.String java.lang.String java.lang.String top int int java.lang.String[]
StackMap stack:
20: aload 16
iload 14
aaload
astore 13 /* hostPort */
start local 13 // java.lang.String hostPort
21: .line 69
aload 4 /* endpoints */
new java.lang.StringBuilder
dup
aload 10 /* scheme */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13 /* hostPort */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12 /* urlSuffix */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 // java.lang.String hostPort
22: .line 66
iinc 14 1
StackMap locals:
StackMap stack:
23: iload 14
iload 15
if_icmplt 20
end local 12 // java.lang.String urlSuffix
end local 11 // java.lang.String query
end local 10 // java.lang.String scheme
24: .line 71
goto 27
end local 9 // java.lang.String[] hostports
end local 3 // java.lang.String domainName
25: .line 74
StackMap locals: com.sun.jndi.ldap.DefaultLdapDnsProvider java.lang.String java.util.Map top java.util.List com.sun.jndi.ldap.LdapURL java.lang.String java.lang.String int
StackMap stack:
ldc ""
astore 3 /* domainName */
start local 3 // java.lang.String domainName
26: .line 75
aload 4 /* endpoints */
aload 1 /* url */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: .line 78
StackMap locals: com.sun.jndi.ldap.DefaultLdapDnsProvider java.lang.String java.util.Map java.lang.String java.util.List com.sun.jndi.ldap.LdapURL java.lang.String java.lang.String int
StackMap stack:
new javax.naming.ldap.spi.LdapDnsProviderResult
dup
aload 3 /* domainName */
aload 4 /* endpoints */
invokespecial javax.naming.ldap.spi.LdapDnsProviderResult.<init>:(Ljava/lang/String;Ljava/util/List;)V
astore 10 /* res */
start local 10 // javax.naming.ldap.spi.LdapDnsProviderResult res
28: .line 79
aload 10 /* res */
invokevirtual javax.naming.ldap.spi.LdapDnsProviderResult.getEndpoints:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 30
aload 10 /* res */
invokevirtual javax.naming.ldap.spi.LdapDnsProviderResult.getDomainName:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 30
29: .line 80
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
30: .line 82
StackMap locals: com.sun.jndi.ldap.DefaultLdapDnsProvider java.lang.String java.util.Map java.lang.String java.util.List com.sun.jndi.ldap.LdapURL java.lang.String java.lang.String int top javax.naming.ldap.spi.LdapDnsProviderResult
StackMap stack:
aload 10 /* res */
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 10 // javax.naming.ldap.spi.LdapDnsProviderResult res
end local 8 // int port
end local 7 // java.lang.String host
end local 6 // java.lang.String dn
end local 5 // com.sun.jndi.ldap.LdapURL ldapUrl
end local 4 // java.util.List endpoints
end local 3 // java.lang.String domainName
end local 2 // java.util.Map env
end local 1 // java.lang.String url
end local 0 // com.sun.jndi.ldap.DefaultLdapDnsProvider this
LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/jndi/ldap/DefaultLdapDnsProvider;
0 31 1 url Ljava/lang/String;
0 31 2 env Ljava/util/Map<**>;
11 25 3 domainName Ljava/lang/String;
26 31 3 domainName Ljava/lang/String;
3 31 4 endpoints Ljava/util/List<Ljava/lang/String;>;
4 31 5 ldapUrl Lcom/sun/jndi/ldap/LdapURL;
5 31 6 dn Ljava/lang/String;
6 31 7 host Ljava/lang/String;
7 31 8 port I
13 25 9 hostports [Ljava/lang/String;
15 24 10 scheme Ljava/lang/String;
16 24 11 query Ljava/lang/String;
19 24 12 urlSuffix Ljava/lang/String;
21 22 13 hostPort Ljava/lang/String;
28 31 10 res Ljavax/naming/ldap/spi/LdapDnsProviderResult;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;Ljava/util/Map<**>;)Ljava/util/Optional<Ljavax/naming/ldap/spi/LdapDnsProviderResult;>;
MethodParameters:
Name Flags
url
env
}
SourceFile: "DefaultLdapDnsProvider.java"