public class org.hsqldb.server.ServerProperties extends org.hsqldb.persist.HsqlProperties
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.server.ServerProperties
  super_class: org.hsqldb.persist.HsqlProperties
{
  static final int SERVER_PROPERTY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int SERVER_MULTI_PROPERTY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int SYSTEM_PROPERTY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final java.lang.String sc_key_prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server"

  static final java.lang.String sc_key_address;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.address"

  static final java.lang.String sc_key_autorestart_server;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.restart_on_shutdown"

  static final java.lang.String sc_key_database;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.database"

  static final java.lang.String sc_key_dbname;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.dbname"

  static final java.lang.String sc_key_no_system_exit;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.no_system_exit"

  static final java.lang.String sc_key_port;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.port"

  static final java.lang.String sc_key_http_port;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.port"

  static final java.lang.String sc_key_silent;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.silent"

  static final java.lang.String sc_key_tls;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.tls"

  static final java.lang.String sc_key_trace;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.trace"

  static final java.lang.String sc_key_web_default_page;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.default_page"

  static final java.lang.String sc_key_web_root;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.root"

  static final java.lang.String sc_key_max_connections;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.maxconnections"

  static final java.lang.String sc_key_remote_open_db;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.remote_open"

  static final java.lang.String sc_key_max_databases;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.maxdatabases"

  static final java.lang.String sc_key_acl;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.acl"

  static final java.lang.String sc_key_daemon;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.daemon"

  static final java.lang.String sc_key_props;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "server.props"

  static final java.lang.String sc_key_system;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "system"

  static final java.lang.String sc_default_web_mime;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "text/html"

  static final java.lang.String sc_default_web_page;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "index.html"

  static final java.lang.String sc_default_web_root;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "."

  static final org.hsqldb.lib.HashMap meta;
    descriptor: Lorg/hsqldb/lib/HashMap;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.hsqldb.lib.OrderedHashSet prefixes;
    descriptor: Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  final int protocol;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  protected boolean initialised;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  org.hsqldb.lib.IntKeyHashMap idToAliasMap;
    descriptor: Lorg/hsqldb/lib/IntKeyHashMap;
    flags: (0x0000) 

  org.hsqldb.lib.IntKeyHashMap idToPathMap;
    descriptor: Lorg/hsqldb/lib/IntKeyHashMap;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 109
            new org.hsqldb.lib.HashMap
            dup
            invokespecial org.hsqldb.lib.HashMap.<init>:()V
            putstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
         1: .line 110
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            putstatic org.hsqldb.server.ServerProperties.prefixes:Lorg/hsqldb/lib/OrderedHashSet;
         2: .line 299
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.database"
         3: .line 300
            ldc "server.database"
            iconst_1
            aconst_null
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;ILjava/lang/String;)[Ljava/lang/Object;
         4: .line 299
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 301
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.dbname"
         6: .line 302
            ldc "server.dbname"
            iconst_1
            aconst_null
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;ILjava/lang/String;)[Ljava/lang/Object;
         7: .line 301
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 303
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "system"
            ldc "system"
            iconst_2
            aconst_null
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;ILjava/lang/String;)[Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 306
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.silent"
        10: .line 307
            ldc "server.silent"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
        11: .line 306
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 308
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.trace"
            ldc "server.trace"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 309
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.tls"
            ldc "server.tls"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 310
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.acl"
            ldc "server.acl"
            iconst_0
            aconst_null
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;ILjava/lang/String;)[Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 311
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.restart_on_shutdown"
        16: .line 312
            ldc "server.restart_on_shutdown"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
        17: .line 311
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 313
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.remote_open"
        19: .line 314
            ldc "server.remote_open"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
        20: .line 313
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 315
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.no_system_exit"
        22: .line 316
            ldc "server.no_system_exit"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
        23: .line 315
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 317
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.daemon"
        25: .line 318
            ldc "server.daemon"
            iconst_0
            iconst_0
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IZ)[Ljava/lang/Object;
        26: .line 317
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 319
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.address"
        28: .line 320
            ldc "server.address"
            iconst_0
            aconst_null
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;ILjava/lang/String;)[Ljava/lang/Object;
        29: .line 319
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 321
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.port"
            ldc "server.port"
            iconst_0
            sipush 9001
            iconst_0
            ldc 65535
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IIII)[Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 322
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.port"
            ldc "server.port"
            iconst_0
            bipush 80
            iconst_0
            ldc 65535
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IIII)[Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 323
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.maxconnections"
        33: .line 324
            ldc "server.maxconnections"
            iconst_0
            bipush 100
            iconst_1
            sipush 10000
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IIII)[Ljava/lang/Object;
        34: .line 323
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 325
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            ldc "server.maxdatabases"
        36: .line 326
            ldc "server.maxdatabases"
            iconst_0
            bipush 10
            iconst_1
            sipush 1000
            invokestatic org.hsqldb.server.ServerProperties.getMeta:(Ljava/lang/String;IIII)[Ljava/lang/Object;
        37: .line 325
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 329
            getstatic org.hsqldb.server.ServerProperties.prefixes:Lorg/hsqldb/lib/OrderedHashSet;
            ldc "server.database"
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        39: .line 330
            getstatic org.hsqldb.server.ServerProperties.prefixes:Lorg/hsqldb/lib/OrderedHashSet;
            ldc "server.dbname"
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        40: .line 331
            getstatic org.hsqldb.server.ServerProperties.prefixes:Lorg/hsqldb/lib/OrderedHashSet;
            ldc "system"
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        41: .line 332
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, java.io.File);
    descriptor: (ILjava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hsqldb.server.ServerProperties this
        start local 1 // int protocol
        start local 2 // java.io.File file
         0: .line 120
            aload 0 /* this */
            invokespecial org.hsqldb.persist.HsqlProperties.<init>:()V
         1: .line 114
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.server.ServerProperties.initialised:Z
         2: .line 117
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyHashMap.<init>:()V
            putfield org.hsqldb.server.ServerProperties.idToAliasMap:Lorg/hsqldb/lib/IntKeyHashMap;
         3: .line 118
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyHashMap.<init>:()V
            putfield org.hsqldb.server.ServerProperties.idToPathMap:Lorg/hsqldb/lib/IntKeyHashMap;
         4: .line 122
            aconst_null
            astore 3 /* fis */
        start local 3 // java.io.FileInputStream fis
         5: .line 125
            new java.io.FileInputStream
            dup
            aload 2 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 3 /* fis */
         6: .line 127
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.stringProps:Ljava/util/Properties;
            aload 3 /* fis */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
         7: .line 128
            goto 12
      StackMap locals: org.hsqldb.server.ServerProperties int java.io.File java.io.FileInputStream
      StackMap stack: java.lang.Throwable
         8: astore 4
         9: .line 129
            aload 3 /* fis */
            ifnull 11
        10: .line 130
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        11: .line 132
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        12: .line 129
      StackMap locals:
      StackMap stack:
            aload 3 /* fis */
            ifnull 14
        13: .line 130
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        14: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* protocol */
            putfield org.hsqldb.server.ServerProperties.protocol:I
        15: .line 135
            return
        end local 3 // java.io.FileInputStream fis
        end local 2 // java.io.File file
        end local 1 // int protocol
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/hsqldb/server/ServerProperties;
            0   16     1  protocol  I
            0   16     2      file  Ljava/io/File;
            5   16     3       fis  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
           5     8       8  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      protocol  
      file      

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.server.ServerProperties this
        start local 1 // int protocol
         0: .line 137
            aload 0 /* this */
            invokespecial org.hsqldb.persist.HsqlProperties.<init>:()V
         1: .line 114
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.server.ServerProperties.initialised:Z
         2: .line 117
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyHashMap.<init>:()V
            putfield org.hsqldb.server.ServerProperties.idToAliasMap:Lorg/hsqldb/lib/IntKeyHashMap;
         3: .line 118
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyHashMap.<init>:()V
            putfield org.hsqldb.server.ServerProperties.idToPathMap:Lorg/hsqldb/lib/IntKeyHashMap;
         4: .line 138
            aload 0 /* this */
            iload 1 /* protocol */
            putfield org.hsqldb.server.ServerProperties.protocol:I
         5: .line 139
            return
        end local 1 // int protocol
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/hsqldb/server/ServerProperties;
            0    6     1  protocol  I
    MethodParameters:
          Name  Flags
      protocol  

  void <init>(int, java.lang.String, java.lang.String);
    descriptor: (ILjava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.hsqldb.server.ServerProperties this
        start local 1 // int protocol
        start local 2 // java.lang.String path
        start local 3 // java.lang.String extension
         0: .line 143
            aload 0 /* this */
            aload 2 /* path */
            aload 3 /* extension */
            invokespecial org.hsqldb.persist.HsqlProperties.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 114
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.server.ServerProperties.initialised:Z
         2: .line 117
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyHashMap.<init>:()V
            putfield org.hsqldb.server.ServerProperties.idToAliasMap:Lorg/hsqldb/lib/IntKeyHashMap;
         3: .line 118
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyHashMap.<init>:()V
            putfield org.hsqldb.server.ServerProperties.idToPathMap:Lorg/hsqldb/lib/IntKeyHashMap;
         4: .line 145
            aload 0 /* this */
            iload 1 /* protocol */
            putfield org.hsqldb.server.ServerProperties.protocol:I
         5: .line 146
            return
        end local 3 // java.lang.String extension
        end local 2 // java.lang.String path
        end local 1 // int protocol
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/hsqldb/server/ServerProperties;
            0    6     1   protocol  I
            0    6     2       path  Ljava/lang/String;
            0    6     3  extension  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      protocol   
      path       
      extension  

  public void validate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.hsqldb.server.ServerProperties this
         0: .line 154
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.stringProps:Ljava/util/Properties;
            invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
            astore 1 /* en */
        start local 1 // java.util.Enumeration en
         1: .line 156
            goto 34
         2: .line 157
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 1 /* en */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* key */
        start local 2 // java.lang.String key
         3: .line 158
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            aload 2 /* key */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 3 /* metadata */
        start local 3 // java.lang.Object[] metadata
         4: .line 160
            aload 3 /* metadata */
            ifnonnull 6
         5: .line 161
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.hsqldb.server.ServerProperties.getPrefixedMetadata:(Ljava/lang/String;)[Ljava/lang/Object;
            astore 3 /* metadata */
         6: .line 164
      StackMap locals: java.lang.String java.lang.Object[]
      StackMap stack:
            aload 3 /* metadata */
            ifnonnull 10
         7: .line 165
            new java.lang.StringBuilder
            dup
            ldc "unsupported property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* error */
        start local 4 // java.lang.String error
         8: .line 167
            aload 0 /* this */
            iconst_0
            aload 4 /* error */
            invokespecial org.hsqldb.persist.HsqlProperties.addError:(ILjava/lang/String;)V
         9: .line 169
            goto 34
        end local 4 // java.lang.String error
        10: .line 172
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* error */
        start local 4 // java.lang.String error
        11: .line 174
            aload 3 /* metadata */
            iconst_1
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        12: .line 175
            iconst_2
        13: .line 174
            if_icmpne 16
        14: .line 176
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* metadata */
            invokevirtual org.hsqldb.server.ServerProperties.validateSystemProperty:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* error */
        15: .line 177
            goto 32
      StackMap locals: java.lang.String
      StackMap stack:
        16: aload 3 /* metadata */
            iconst_1
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        17: .line 178
            iconst_1
            if_icmpne 20
        18: .line 179
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* metadata */
            invokevirtual org.hsqldb.server.ServerProperties.validateMultiProperty:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* error */
        19: .line 180
            goto 32
        20: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.hsqldb.server.ServerProperties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        21: .line 183
            aload 5 /* value */
            ifnonnull 29
        22: .line 184
            aload 3 /* metadata */
            iconst_4
            aaload
            ifnonnull 25
        23: .line 185
            new java.lang.StringBuilder
            dup
            ldc "missing value for property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* error */
        24: .line 186
            goto 32
        25: .line 187
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
        26: .line 188
            aload 3 /* metadata */
            iconst_4
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
        27: .line 187
            invokevirtual org.hsqldb.server.ServerProperties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        28: .line 190
            goto 32
        29: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            aload 5 /* value */
        30: .line 192
            aload 3 /* metadata */
        31: .line 191
            invokestatic org.hsqldb.persist.HsqlProperties.validateProperty:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* error */
        end local 5 // java.lang.String value
        32: .line 196
      StackMap locals:
      StackMap stack:
            aload 4 /* error */
            ifnull 34
        33: .line 197
            aload 0 /* this */
            iconst_0
            aload 4 /* error */
            invokespecial org.hsqldb.persist.HsqlProperties.addError:(ILjava/lang/String;)V
        end local 4 // java.lang.String error
        end local 3 // java.lang.Object[] metadata
        end local 2 // java.lang.String key
        34: .line 156
      StackMap locals:
      StackMap stack:
            aload 1 /* en */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        35: .line 201
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.idToAliasMap:Lorg/hsqldb/lib/IntKeyHashMap;
            invokevirtual org.hsqldb.lib.IntKeyHashMap.keySet:()Lorg/hsqldb/lib/Set;
            invokeinterface org.hsqldb.lib.Set.iterator:()Lorg/hsqldb/lib/Iterator;
            astore 2 /* it */
        start local 2 // org.hsqldb.lib.Iterator it
        36: .line 203
            goto 40
        37: .line 204
      StackMap locals: org.hsqldb.lib.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.nextInt:()I
            istore 3 /* number */
        start local 3 // int number
        38: .line 206
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.idToPathMap:Lorg/hsqldb/lib/IntKeyHashMap;
            iload 3 /* number */
            invokevirtual org.hsqldb.lib.IntKeyHashMap.containsKey:(I)Z
            ifne 40
        39: .line 207
            aload 0 /* this */
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "no path for database id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* number */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hsqldb.server.ServerProperties.addError:(ILjava/lang/String;)V
        end local 3 // int number
        40: .line 203
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 37
        41: .line 211
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.idToPathMap:Lorg/hsqldb/lib/IntKeyHashMap;
            invokevirtual org.hsqldb.lib.IntKeyHashMap.keySet:()Lorg/hsqldb/lib/Set;
            invokeinterface org.hsqldb.lib.Set.iterator:()Lorg/hsqldb/lib/Iterator;
            astore 2 /* it */
        42: .line 213
            goto 46
        43: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.nextInt:()I
            istore 3 /* number */
        start local 3 // int number
        44: .line 216
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.idToAliasMap:Lorg/hsqldb/lib/IntKeyHashMap;
            iload 3 /* number */
            invokevirtual org.hsqldb.lib.IntKeyHashMap.containsKey:(I)Z
            ifne 46
        45: .line 217
            aload 0 /* this */
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "no alias for database id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* number */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hsqldb.server.ServerProperties.addError:(ILjava/lang/String;)V
        end local 3 // int number
        46: .line 213
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 43
        47: .line 221
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.server.ServerProperties.initialised:Z
        48: .line 222
            return
        end local 2 // org.hsqldb.lib.Iterator it
        end local 1 // java.util.Enumeration en
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   49     0      this  Lorg/hsqldb/server/ServerProperties;
            1   49     1        en  Ljava/util/Enumeration;
            3   34     2       key  Ljava/lang/String;
            4   34     3  metadata  [Ljava/lang/Object;
            8   10     4     error  Ljava/lang/String;
           11   34     4     error  Ljava/lang/String;
           21   32     5     value  Ljava/lang/String;
           36   49     2        it  Lorg/hsqldb/lib/Iterator;
           38   40     3    number  I
           44   46     3    number  I

  java.lang.Object[] getPrefixedMetadata(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hsqldb.server.ServerProperties this
        start local 1 // java.lang.String key
         0: .line 226
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 227
      StackMap locals: int
      StackMap stack:
            getstatic org.hsqldb.server.ServerProperties.prefixes:Lorg/hsqldb/lib/OrderedHashSet;
            iload 2 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* prefix */
        start local 3 // java.lang.String prefix
         3: .line 229
            aload 1 /* key */
            aload 3 /* prefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 230
            getstatic org.hsqldb.server.ServerProperties.meta:Lorg/hsqldb/lib/HashMap;
            aload 3 /* prefix */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            areturn
        end local 3 // java.lang.String prefix
         5: .line 226
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            getstatic org.hsqldb.server.ServerProperties.prefixes:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 2
        end local 2 // int i
         7: .line 234
            aconst_null
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/hsqldb/server/ServerProperties;
            0    8     1     key  Ljava/lang/String;
            1    7     2       i  I
            3    5     3  prefix  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  java.lang.String validateMultiProperty(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.hsqldb.server.ServerProperties this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] meta
         0: .line 244
            aload 2 /* meta */
            iconst_0
            aaload
            checkcast java.lang.String
            astore 4 /* prefix */
        start local 4 // java.lang.String prefix
         1: .line 246
            aload 2 /* meta */
            iconst_0
            aaload
            ldc "server.database"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 247
            ldc "server.database"
            aload 1 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 248
            new java.lang.StringBuilder
            dup
            aload 1 /* key */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* key */
         4: .line 253
      StackMap locals: org.hsqldb.server.ServerProperties java.lang.String java.lang.Object[] top java.lang.String
      StackMap stack:
            aload 1 /* key */
            aload 4 /* prefix */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* dbNumber */
        start local 3 // int dbNumber
         5: .line 254
            goto 8
        end local 3 // int dbNumber
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         6: pop
         7: .line 255
            new java.lang.StringBuilder
            dup
            ldc "malformed database enumerator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        start local 3 // int dbNumber
         8: .line 258
      StackMap locals: org.hsqldb.server.ServerProperties java.lang.String java.lang.Object[] int java.lang.String
      StackMap stack:
            aload 2 /* meta */
            iconst_0
            aaload
            ldc "server.dbname"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 259
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.stringProps:Ljava/util/Properties;
            aload 1 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 5 /* alias */
        start local 5 // java.lang.String alias
        10: .line 260
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.idToAliasMap:Lorg/hsqldb/lib/IntKeyHashMap;
            iload 3 /* dbNumber */
            aload 5 /* alias */
            invokevirtual org.hsqldb.lib.IntKeyHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
            astore 6 /* existing */
        start local 6 // java.lang.Object existing
        11: .line 262
            aload 6 /* existing */
            ifnull 18
        12: .line 263
            new java.lang.StringBuilder
            dup
            ldc "duplicate database enumerator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.Object existing
        end local 5 // java.lang.String alias
        13: .line 265
      StackMap locals:
      StackMap stack:
            aload 2 /* meta */
            iconst_0
            aaload
            ldc "server.database"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
        14: .line 266
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.stringProps:Ljava/util/Properties;
            aload 1 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
        15: .line 267
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.idToPathMap:Lorg/hsqldb/lib/IntKeyHashMap;
            iload 3 /* dbNumber */
            aload 5 /* path */
            invokevirtual org.hsqldb.lib.IntKeyHashMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
            astore 6 /* existing */
        start local 6 // java.lang.Object existing
        16: .line 269
            aload 6 /* existing */
            ifnull 18
        17: .line 270
            new java.lang.StringBuilder
            dup
            ldc "duplicate database enumerator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.Object existing
        end local 5 // java.lang.String path
        18: .line 274
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.String prefix
        end local 3 // int dbNumber
        end local 2 // java.lang.Object[] meta
        end local 1 // java.lang.String key
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lorg/hsqldb/server/ServerProperties;
            0   19     1       key  Ljava/lang/String;
            0   19     2      meta  [Ljava/lang/Object;
            5    6     3  dbNumber  I
            8   19     3  dbNumber  I
            1   19     4    prefix  Ljava/lang/String;
           10   13     5     alias  Ljava/lang/String;
           11   13     6  existing  Ljava/lang/Object;
           15   18     5      path  Ljava/lang/String;
           16   18     6  existing  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      key   
      meta  

  java.lang.String validateSystemProperty(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.hsqldb.server.ServerProperties this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] meta
         0: .line 283
            aload 2 /* meta */
            iconst_0
            aaload
            checkcast java.lang.String
            astore 3 /* prefix */
        start local 3 // java.lang.String prefix
         1: .line 284
            aload 1 /* key */
            aload 3 /* prefix */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* specificKey */
        start local 4 // java.lang.String specificKey
         2: .line 285
            aload 0 /* this */
            getfield org.hsqldb.server.ServerProperties.stringProps:Ljava/util/Properties;
            aload 1 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         3: .line 287
            aload 5 /* value */
            ifnonnull 5
         4: .line 288
            new java.lang.StringBuilder
            dup
            ldc "value required for property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 291
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* specificKey */
            aload 5 /* value */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         6: .line 293
            aconst_null
            areturn
        end local 5 // java.lang.String value
        end local 4 // java.lang.String specificKey
        end local 3 // java.lang.String prefix
        end local 2 // java.lang.Object[] meta
        end local 1 // java.lang.String key
        end local 0 // org.hsqldb.server.ServerProperties this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/hsqldb/server/ServerProperties;
            0    7     1          key  Ljava/lang/String;
            0    7     2         meta  [Ljava/lang/Object;
            1    7     3       prefix  Ljava/lang/String;
            2    7     4  specificKey  Ljava/lang/String;
            3    7     5        value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   
      meta  
}
SourceFile: "ServerProperties.java"