public class org.hsqldb.auth.LdapAuthBeanTester
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.auth.LdapAuthBeanTester
  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 // org.hsqldb.auth.LdapAuthBeanTester this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hsqldb.auth.LdapAuthBeanTester this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/auth/LdapAuthBeanTester;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=19, args_size=1
        start local 0 // java.lang.String[] sa
         0: .line 98
            aload 0 /* sa */
            arraylength
            iconst_3
            if_icmpeq 6
         1: .line 99
            new java.lang.IllegalArgumentException
            dup
         2: .line 100
            new java.lang.StringBuilder
            dup
            ldc "SYNTAX:  java "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/hsqldb/auth/AuthBeanMultiplexer;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 101
            ldc " path/to/file.properties <USERNAME> <PASSWORD>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 100
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 99
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 104
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* sa */
            iconst_0
            aaload
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         7: .line 106
            aload 1 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifne 11
         8: .line 107
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 108
            aload 1 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 107
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 111
      StackMap locals: java.io.File
      StackMap stack:
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 2 /* p */
        start local 2 // java.util.Properties p
        12: .line 113
            aload 2 /* p */
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        13: .line 115
            aload 2 /* p */
            ldc "trustStore"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* trustStore */
        start local 3 // java.lang.String trustStore
        14: .line 116
            aload 2 /* p */
            ldc "startTls"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* startTlsString */
        start local 4 // java.lang.String startTlsString
        15: .line 117
            aload 2 /* p */
            ldc "ldapPort"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* ldapPortString */
        start local 5 // java.lang.String ldapPortString
        16: .line 119
            aload 2 /* p */
            ldc "roleSchemaValuePattern"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        17: .line 118
            astore 6 /* roleSchemaValuePatternString */
        start local 6 // java.lang.String roleSchemaValuePatternString
        18: .line 120
            aload 2 /* p */
            ldc "accessValuePattern"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* accessValuePatternString */
        start local 7 // java.lang.String accessValuePatternString
        19: .line 121
            aload 2 /* p */
            ldc "securityMechanism"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* securityMechanism */
        start local 8 // java.lang.String securityMechanism
        20: .line 122
            aload 2 /* p */
            ldc "ldapHost"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* ldapHost */
        start local 9 // java.lang.String ldapHost
        21: .line 123
            aload 2 /* p */
            ldc "principalTemplate"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* principalTemplate */
        start local 10 // java.lang.String principalTemplate
        22: .line 124
            aload 2 /* p */
            ldc "initialContextFactory"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* initialContextFactory */
        start local 11 // java.lang.String initialContextFactory
        23: .line 125
            aload 2 /* p */
            ldc "saslRealm"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* saslRealm */
        start local 12 // java.lang.String saslRealm
        24: .line 126
            aload 2 /* p */
            ldc "parentDn"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* parentDn */
        start local 13 // java.lang.String parentDn
        25: .line 127
            aload 2 /* p */
            ldc "rdnAttribute"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* rdnAttribute */
        start local 14 // java.lang.String rdnAttribute
        26: .line 128
            aload 2 /* p */
            ldc "rolesSchemaAttribute"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 15 /* rolesSchemaAttribute */
        start local 15 // java.lang.String rolesSchemaAttribute
        27: .line 129
            aload 2 /* p */
            ldc "accessAttribute"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* accessAttribute */
        start local 16 // java.lang.String accessAttribute
        28: .line 131
            aload 3 /* trustStore */
            ifnull 34
        29: .line 132
            new java.io.File
            dup
            aload 3 /* trustStore */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.isFile:()Z
            ifne 33
        30: .line 133
            new java.lang.IllegalArgumentException
            dup
        31: .line 134
            new java.lang.StringBuilder
            dup
            ldc "Specified trust store is not a file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* trustStore */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 133
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 137
      StackMap locals: java.lang.String[] java.io.File java.util.Properties java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            ldc "javax.net.ssl.trustStore"
            aload 3 /* trustStore */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        34: .line 140
      StackMap locals:
      StackMap stack:
            new org.hsqldb.auth.LdapAuthBean
            dup
            invokespecial org.hsqldb.auth.LdapAuthBean.<init>:()V
            astore 17 /* bean */
        start local 17 // org.hsqldb.auth.LdapAuthBean bean
        35: .line 142
            aload 4 /* startTlsString */
            ifnull 37
        36: .line 143
            aload 17 /* bean */
            aload 4 /* startTlsString */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokevirtual org.hsqldb.auth.LdapAuthBean.setStartTls:(Z)V
        37: .line 146
      StackMap locals: org.hsqldb.auth.LdapAuthBean
      StackMap stack:
            aload 5 /* ldapPortString */
            ifnull 39
        38: .line 147
            aload 17 /* bean */
            aload 5 /* ldapPortString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual org.hsqldb.auth.LdapAuthBean.setLdapPort:(I)V
        39: .line 150
      StackMap locals:
      StackMap stack:
            aload 6 /* roleSchemaValuePatternString */
            ifnull 41
        40: .line 151
            aload 17 /* bean */
            aload 6 /* roleSchemaValuePatternString */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setRoleSchemaValuePatternString:(Ljava/lang/String;)V
        41: .line 154
      StackMap locals:
      StackMap stack:
            aload 7 /* accessValuePatternString */
            ifnull 43
        42: .line 155
            aload 17 /* bean */
            aload 7 /* accessValuePatternString */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setAccessValuePatternString:(Ljava/lang/String;)V
        43: .line 158
      StackMap locals:
      StackMap stack:
            aload 8 /* securityMechanism */
            ifnull 45
        44: .line 159
            aload 17 /* bean */
            aload 8 /* securityMechanism */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setSecurityMechanism:(Ljava/lang/String;)V
        45: .line 162
      StackMap locals:
      StackMap stack:
            aload 9 /* ldapHost */
            ifnull 47
        46: .line 163
            aload 17 /* bean */
            aload 9 /* ldapHost */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setLdapHost:(Ljava/lang/String;)V
        47: .line 166
      StackMap locals:
      StackMap stack:
            aload 10 /* principalTemplate */
            ifnull 49
        48: .line 167
            aload 17 /* bean */
            aload 10 /* principalTemplate */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setPrincipalTemplate:(Ljava/lang/String;)V
        49: .line 170
      StackMap locals:
      StackMap stack:
            aload 11 /* initialContextFactory */
            ifnull 51
        50: .line 171
            aload 17 /* bean */
            aload 11 /* initialContextFactory */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setInitialContextFactory:(Ljava/lang/String;)V
        51: .line 174
      StackMap locals:
      StackMap stack:
            aload 12 /* saslRealm */
            ifnull 53
        52: .line 175
            aload 17 /* bean */
            aload 12 /* saslRealm */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setSaslRealm:(Ljava/lang/String;)V
        53: .line 178
      StackMap locals:
      StackMap stack:
            aload 13 /* parentDn */
            ifnull 55
        54: .line 179
            aload 17 /* bean */
            aload 13 /* parentDn */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setParentDn:(Ljava/lang/String;)V
        55: .line 182
      StackMap locals:
      StackMap stack:
            aload 14 /* rdnAttribute */
            ifnull 57
        56: .line 183
            aload 17 /* bean */
            aload 14 /* rdnAttribute */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setRdnAttribute:(Ljava/lang/String;)V
        57: .line 186
      StackMap locals:
      StackMap stack:
            aload 15 /* rolesSchemaAttribute */
            ifnull 59
        58: .line 187
            aload 17 /* bean */
            aload 15 /* rolesSchemaAttribute */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setRolesSchemaAttribute:(Ljava/lang/String;)V
        59: .line 190
      StackMap locals:
      StackMap stack:
            aload 16 /* accessAttribute */
            ifnull 61
        60: .line 191
            aload 17 /* bean */
            aload 16 /* accessAttribute */
            invokevirtual org.hsqldb.auth.LdapAuthBean.setAccessAttribute:(Ljava/lang/String;)V
        61: .line 194
      StackMap locals:
      StackMap stack:
            aload 17 /* bean */
            invokevirtual org.hsqldb.auth.LdapAuthBean.init:()V
        62: .line 196
            aconst_null
            astore 18 /* res */
        start local 18 // java.lang.String[] res
        63: .line 199
            aload 17 /* bean */
            aload 0 /* sa */
            iconst_1
            aaload
            aload 0 /* sa */
            iconst_2
            aaload
            invokevirtual org.hsqldb.auth.LdapAuthBean.authenticate:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 18 /* res */
        64: .line 200
            goto 68
      StackMap locals: java.lang.String[] java.io.File java.util.Properties java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String org.hsqldb.auth.LdapAuthBean java.lang.String[]
      StackMap stack: org.hsqldb.auth.DenyException
        65: pop
        66: .line 201
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "<DENY ACCESS>"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 203
            return
        68: .line 206
      StackMap locals:
      StackMap stack:
            aload 18 /* res */
            ifnonnull 71
        69: .line 207
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "<ALLOW ACCESS w/ local Roles+Schema>"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        70: .line 208
            goto 74
        71: .line 209
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 18 /* res */
            arraylength
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        72: .line 210
            ldc " Roles/Schema: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* res */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        73: .line 209
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        74: .line 212
      StackMap locals:
      StackMap stack:
            return
        end local 18 // java.lang.String[] res
        end local 17 // org.hsqldb.auth.LdapAuthBean bean
        end local 16 // java.lang.String accessAttribute
        end local 15 // java.lang.String rolesSchemaAttribute
        end local 14 // java.lang.String rdnAttribute
        end local 13 // java.lang.String parentDn
        end local 12 // java.lang.String saslRealm
        end local 11 // java.lang.String initialContextFactory
        end local 10 // java.lang.String principalTemplate
        end local 9 // java.lang.String ldapHost
        end local 8 // java.lang.String securityMechanism
        end local 7 // java.lang.String accessValuePatternString
        end local 6 // java.lang.String roleSchemaValuePatternString
        end local 5 // java.lang.String ldapPortString
        end local 4 // java.lang.String startTlsString
        end local 3 // java.lang.String trustStore
        end local 2 // java.util.Properties p
        end local 1 // java.io.File file
        end local 0 // java.lang.String[] sa
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   75     0                            sa  [Ljava/lang/String;
            7   75     1                          file  Ljava/io/File;
           12   75     2                             p  Ljava/util/Properties;
           14   75     3                    trustStore  Ljava/lang/String;
           15   75     4                startTlsString  Ljava/lang/String;
           16   75     5                ldapPortString  Ljava/lang/String;
           18   75     6  roleSchemaValuePatternString  Ljava/lang/String;
           19   75     7      accessValuePatternString  Ljava/lang/String;
           20   75     8             securityMechanism  Ljava/lang/String;
           21   75     9                      ldapHost  Ljava/lang/String;
           22   75    10             principalTemplate  Ljava/lang/String;
           23   75    11         initialContextFactory  Ljava/lang/String;
           24   75    12                     saslRealm  Ljava/lang/String;
           25   75    13                      parentDn  Ljava/lang/String;
           26   75    14                  rdnAttribute  Ljava/lang/String;
           27   75    15          rolesSchemaAttribute  Ljava/lang/String;
           28   75    16               accessAttribute  Ljava/lang/String;
           35   75    17                          bean  Lorg/hsqldb/auth/LdapAuthBean;
           63   75    18                           res  [Ljava/lang/String;
      Exception table:
        from    to  target  type
          63    64      65  Class org.hsqldb.auth.DenyException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      sa    
}
SourceFile: "LdapAuthBeanTester.java"