public class com.netflix.config.WebApplicationProperties
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.netflix.config.WebApplicationProperties
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static java.io.File appConfFolder;
    descriptor: Ljava/io/File;
    flags: (0x0008) ACC_STATIC

  static java.lang.String baseConfigFileName;
    descriptor: Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static boolean loadLibraryProperties;
    descriptor: Z
    flags: (0x0008) ACC_STATIC

  static java.lang.String libraryPropertiesResourceRelativePath;
    descriptor: Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 55
            ldc Lcom/netflix/config/WebApplicationProperties;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
         1: .line 54
            putstatic com.netflix.config.WebApplicationProperties.logger:Lorg/slf4j/Logger;
         2: .line 57
            new java.io.File
            dup
            ldc "."
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            putstatic com.netflix.config.WebApplicationProperties.appConfFolder:Ljava/io/File;
         3: .line 60
            ldc "config"
            putstatic com.netflix.config.WebApplicationProperties.baseConfigFileName:Ljava/lang/String;
         4: .line 62
            iconst_1
            putstatic com.netflix.config.WebApplicationProperties.loadLibraryProperties:Z
         5: .line 64
            getstatic com.netflix.config.ClasspathPropertiesConfiguration.propertiesResourceRelativePath:Ljava/lang/String;
            putstatic com.netflix.config.WebApplicationProperties.libraryPropertiesResourceRelativePath:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.config.WebApplicationProperties this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.netflix.config.WebApplicationProperties this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/netflix/config/WebApplicationProperties;

  public static void initialize(java.io.File, java.lang.String, boolean, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;ZLjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // java.io.File appConfFolderFromConfig
        start local 1 // java.lang.String baseConfigFileName
        start local 2 // boolean loadLibraryProperties
        start local 3 // java.lang.String propertiesResourceRelativePath
         0: .line 78
            aload 0 /* appConfFolderFromConfig */
            putstatic com.netflix.config.WebApplicationProperties.appConfFolder:Ljava/io/File;
         1: .line 79
            aload 1 /* baseConfigFileName */
            putstatic com.netflix.config.WebApplicationProperties.baseConfigFileName:Ljava/lang/String;
         2: .line 80
            iload 2 /* loadLibraryProperties */
            putstatic com.netflix.config.WebApplicationProperties.loadLibraryProperties:Z
         3: .line 81
            aload 3 /* propertiesResourceRelativePath */
            putstatic com.netflix.config.WebApplicationProperties.libraryPropertiesResourceRelativePath:Ljava/lang/String;
         4: .line 82
            invokestatic com.netflix.config.WebApplicationProperties.initialize:()V
         5: .line 83
            return
        end local 3 // java.lang.String propertiesResourceRelativePath
        end local 2 // boolean loadLibraryProperties
        end local 1 // java.lang.String baseConfigFileName
        end local 0 // java.io.File appConfFolderFromConfig
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    6     0         appConfFolderFromConfig  Ljava/io/File;
            0    6     1              baseConfigFileName  Ljava/lang/String;
            0    6     2           loadLibraryProperties  Z
            0    6     3  propertiesResourceRelativePath  Ljava/lang/String;
    MethodParameters:
                                Name  Flags
      appConfFolderFromConfig         
      baseConfigFileName              
      loadLibraryProperties           
      propertiesResourceRelativePath  

  public static void initialize();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 91
            invokestatic com.netflix.config.WebApplicationProperties.initApplicationProperties:()V
         1: .line 92
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 0 /* e */
        start local 0 // java.lang.Exception e
         3: .line 93
            getstatic com.netflix.config.WebApplicationProperties.logger:Lorg/slf4j/Logger;
            ldc "Unable to load Application Properties"
            aload 0 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         4: .line 94
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Unable to load Application Properties"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 95
            aload 0 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 0 // java.lang.Exception e
         6: .line 99
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.WebApplicationProperties.loadLibraryProperties:Z
            ifeq 13
         7: .line 101
            invokestatic com.netflix.config.WebApplicationProperties.initClasspathPropertiesConfiguration:()V
         8: .line 102
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 0 /* e */
        start local 0 // java.lang.Exception e
        10: .line 103
            getstatic com.netflix.config.WebApplicationProperties.logger:Lorg/slf4j/Logger;
            ldc "Unable to load Library Properties"
            aload 0 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        11: .line 104
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Unable to load Library Properties"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 105
            aload 0 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 0 // java.lang.Exception e
        13: .line 109
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.WebApplicationProperties.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Properties loaded:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic com.netflix.config.WebApplicationProperties.getProperties:()Ljava/util/Properties;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        14: .line 110
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    6     0     e  Ljava/lang/Exception;
           10   13     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
           7     8       9  Class java.lang.Exception

  protected static void initClasspathPropertiesConfiguration();
    descriptor: ()V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 113
            invokestatic com.netflix.config.ClasspathPropertiesConfiguration.initialize:()V
         1: .line 114
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected static void initApplicationProperties();
    descriptor: ()V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=0
         0: .line 118
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            getstatic com.netflix.config.WebApplicationProperties.appConfFolder:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.netflix.config.WebApplicationProperties.baseConfigFileName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 0 /* appPropFile */
        start local 0 // java.io.File appPropFile
         1: .line 119
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            getstatic com.netflix.config.WebApplicationProperties.appConfFolder:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.netflix.config.WebApplicationProperties.baseConfigFileName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 120
            invokestatic com.netflix.config.WebApplicationProperties.getEnvironment:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 119
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* appEnvPropOverrideFile */
        start local 1 // java.io.File appEnvPropOverrideFile
         4: .line 124
            new org.apache.commons.configuration.PropertiesConfiguration
            dup
         5: .line 125
            aload 0 /* appPropFile */
         6: .line 124
            invokespecial org.apache.commons.configuration.PropertiesConfiguration.<init>:(Ljava/io/File;)V
            astore 2 /* appConf */
        start local 2 // org.apache.commons.configuration.PropertiesConfiguration appConf
         7: .line 127
            new org.apache.commons.configuration.PropertiesConfiguration
            dup
            aload 1 /* appEnvPropOverrideFile */
            invokespecial org.apache.commons.configuration.PropertiesConfiguration.<init>:(Ljava/io/File;)V
            astore 3 /* overrideConf */
        start local 3 // org.apache.commons.configuration.PropertiesConfiguration overrideConf
         8: .line 128
            aload 3 /* overrideConf */
            invokestatic com.netflix.config.util.ConfigurationUtils.getProperties:(Lorg/apache/commons/configuration/Configuration;)Ljava/util/Properties;
            astore 4 /* overrideprops */
        start local 4 // java.util.Properties overrideprops
         9: .line 129
            aload 4 /* overrideprops */
            invokevirtual java.util.Properties.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: java.io.File java.io.File org.apache.commons.configuration.PropertiesConfiguration org.apache.commons.configuration.PropertiesConfiguration java.util.Properties top java.util.Iterator
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* prop */
        start local 5 // java.lang.Object prop
        11: .line 130
            aload 2 /* appConf */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* prop */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* overrideprops */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* prop */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 5 // java.lang.Object prop
        12: .line 129
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 132
            aload 0 /* appPropFile */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
        14: .line 133
            ldc "archaius.configurationSource.additionalUrls"
            aload 5 /* path */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        15: .line 134
            aload 2 /* appConf */
            invokestatic com.netflix.config.ConfigurationManager.loadPropertiesFromConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;)V
        16: .line 136
            return
        end local 5 // java.lang.String path
        end local 4 // java.util.Properties overrideprops
        end local 3 // org.apache.commons.configuration.PropertiesConfiguration overrideConf
        end local 2 // org.apache.commons.configuration.PropertiesConfiguration appConf
        end local 1 // java.io.File appEnvPropOverrideFile
        end local 0 // java.io.File appPropFile
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            1   17     0             appPropFile  Ljava/io/File;
            4   17     1  appEnvPropOverrideFile  Ljava/io/File;
            7   17     2                 appConf  Lorg/apache/commons/configuration/PropertiesConfiguration;
            8   17     3            overrideConf  Lorg/apache/commons/configuration/PropertiesConfiguration;
            9   17     4           overrideprops  Ljava/util/Properties;
           11   12     5                    prop  Ljava/lang/Object;
           14   17     5                    path  Ljava/lang/String;
    Exceptions:
      throws org.apache.commons.configuration.ConfigurationException, java.net.MalformedURLException

  private static java.lang.String getEnvironment();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 139
            ldc "env"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* env */
        start local 0 // java.lang.String env
         1: .line 140
            aload 0 /* env */
            areturn
        end local 0 // java.lang.String env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0   env  Ljava/lang/String;

  public static java.io.File getAppConfFolder();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 144
            getstatic com.netflix.config.WebApplicationProperties.appConfFolder:Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setAppConfFolder(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.File appConfFolderFromConfig
        start local 1 // java.lang.String baseConfigFileName
         0: .line 159
            aload 0 /* appConfFolderFromConfig */
            putstatic com.netflix.config.WebApplicationProperties.appConfFolder:Ljava/io/File;
         1: .line 160
            aload 1 /* baseConfigFileName */
            putstatic com.netflix.config.WebApplicationProperties.baseConfigFileName:Ljava/lang/String;
         2: .line 161
            return
        end local 1 // java.lang.String baseConfigFileName
        end local 0 // java.io.File appConfFolderFromConfig
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0  appConfFolderFromConfig  Ljava/io/File;
            0    3     1       baseConfigFileName  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      appConfFolderFromConfig  
      baseConfigFileName       

  public static boolean shouldLoadLibraryProperties();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 168
            getstatic com.netflix.config.WebApplicationProperties.loadLibraryProperties:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setLoadLibraryProperties(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean loadLibraryProperties
         0: .line 179
            iload 0 /* loadLibraryProperties */
            putstatic com.netflix.config.WebApplicationProperties.loadLibraryProperties:Z
         1: .line 180
            return
        end local 0 // boolean loadLibraryProperties
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0  loadLibraryProperties  Z
    MethodParameters:
                       Name  Flags
      loadLibraryProperties  

  public static java.lang.String getLibraryPropertiesResourceRelativePath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 186
            getstatic com.netflix.config.WebApplicationProperties.libraryPropertiesResourceRelativePath:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setLibraryPropertiesResourceRelativePath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String libraryPropertiesResourceRelativePath
         0: .line 196
            aload 0 /* libraryPropertiesResourceRelativePath */
            putstatic com.netflix.config.WebApplicationProperties.libraryPropertiesResourceRelativePath:Ljava/lang/String;
         1: .line 197
            return
        end local 0 // java.lang.String libraryPropertiesResourceRelativePath
      LocalVariableTable:
        Start  End  Slot                                   Name  Signature
            0    2     0  libraryPropertiesResourceRelativePath  Ljava/lang/String;
    MethodParameters:
                                       Name  Flags
      libraryPropertiesResourceRelativePath  

  public static java.util.Properties getProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 203
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            invokestatic com.netflix.config.util.ConfigurationUtils.getProperties:(Lorg/apache/commons/configuration/Configuration;)Ljava/util/Properties;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "WebApplicationProperties.java"