final class com.microsoft.sqlserver.jdbc.FailoverMapSingleton
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.FailoverMapSingleton
  super_class: java.lang.Object
{
  private static int initialHashmapSize;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.HashMap<java.lang.String, com.microsoft.sqlserver.jdbc.FailoverInfo> failoverMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/FailoverInfo;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 13
            iconst_5
            putstatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.initialHashmapSize:I
         1: .line 14
            new java.util.HashMap
            dup
            getstatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.initialHashmapSize:I
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.failoverMap:Ljava/util/HashMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.FailoverMapSingleton this
         0: .line 16
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 17
            return
        end local 0 // com.microsoft.sqlserver.jdbc.FailoverMapSingleton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/FailoverMapSingleton;

  private static java.lang.String concatPrimaryDatabase(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.String primary
        start local 1 // java.lang.String instance
        start local 2 // java.lang.String database
         0: .line 20
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         1: .line 21
            aload 3 /* buf */
            aload 0 /* primary */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 22
            aload 1 /* instance */
            ifnull 5
         3: .line 23
            aload 3 /* buf */
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 24
            aload 3 /* buf */
            aload 1 /* instance */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 26
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* buf */
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 27
            aload 3 /* buf */
            aload 2 /* database */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 28
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String database
        end local 1 // java.lang.String instance
        end local 0 // java.lang.String primary
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0   primary  Ljava/lang/String;
            0    8     1  instance  Ljava/lang/String;
            0    8     2  database  Ljava/lang/String;
            1    8     3       buf  Ljava/lang/StringBuilder;
    MethodParameters:
          Name  Flags
      primary   
      instance  
      database  

  static com.microsoft.sqlserver.jdbc.FailoverInfo getFailoverInfo(com.microsoft.sqlserver.jdbc.SQLServerConnection, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection connection
        start local 1 // java.lang.String primaryServer
        start local 2 // java.lang.String instance
        start local 3 // java.lang.String database
         0: .line 33
            ldc Lcom/microsoft/sqlserver/jdbc/FailoverMapSingleton;
            dup
            astore 4
            monitorenter
         1: .line 34
            getstatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.failoverMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 4
         2: .line 35
            aload 4
            monitorexit
         3: aconst_null
            areturn
         4: .line 37
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* primaryServer */
            aload 2 /* instance */
            aload 3 /* database */
            invokestatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.concatPrimaryDatabase:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* mapKey */
        start local 5 // java.lang.String mapKey
         5: .line 38
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getConnectionLogger:()Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 8
         6: .line 39
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getConnectionLogger:()Ljava/util/logging/Logger;
         7: .line 40
            new java.lang.StringBuilder
            dup
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Looking up info in the map using key: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* mapKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         8: .line 41
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.failoverMap:Ljava/util/HashMap;
            aload 5 /* mapKey */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.FailoverInfo
            astore 6 /* fo */
        start local 6 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
         9: .line 42
            aload 6 /* fo */
            ifnull 11
        10: .line 43
            aload 6 /* fo */
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.FailoverInfo.log:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
        11: .line 44
      StackMap locals: com.microsoft.sqlserver.jdbc.FailoverInfo
      StackMap stack:
            aload 6 /* fo */
            aload 4
            monitorexit
        12: areturn
        end local 6 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
        end local 5 // java.lang.String mapKey
        13: .line 33
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.lang.Class
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        14: athrow
        end local 3 // java.lang.String database
        end local 2 // java.lang.String instance
        end local 1 // java.lang.String primaryServer
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection connection
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0     connection  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   15     1  primaryServer  Ljava/lang/String;
            0   15     2       instance  Ljava/lang/String;
            0   15     3       database  Ljava/lang/String;
            5   13     5         mapKey  Ljava/lang/String;
            9   13     6             fo  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
      Exception table:
        from    to  target  type
           1     3      13  any
           4    12      13  any
          13    14      13  any
    MethodParameters:
               Name  Flags
      connection     
      primaryServer  
      instance       
      database       

  static void putFailoverInfo(com.microsoft.sqlserver.jdbc.SQLServerConnection, java.lang.String, java.lang.String, java.lang.String, com.microsoft.sqlserver.jdbc.FailoverInfo, boolean, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/FailoverInfo;ZLjava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection connection
        start local 1 // java.lang.String primaryServer
        start local 2 // java.lang.String instance
        start local 3 // java.lang.String database
        start local 4 // com.microsoft.sqlserver.jdbc.FailoverInfo actualFailoverInfo
        start local 5 // boolean actualuseFailover
        start local 6 // java.lang.String failoverPartner
         0: .line 57
            ldc Lcom/microsoft/sqlserver/jdbc/FailoverMapSingleton;
            dup
            astore 8
            monitorenter
         1: .line 59
            aload 0 /* connection */
            aload 1 /* primaryServer */
            aload 2 /* instance */
            aload 3 /* database */
            invokestatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.getFailoverInfo:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
            dup
            astore 7 /* fo */
        start local 7 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
         2: ifnonnull 9
         3: .line 60
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getConnectionLogger:()Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 7
         4: .line 61
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getConnectionLogger:()Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* connection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Failover map add server: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 62
            aload 1 /* primaryServer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; database:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* database */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; Mirror:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* failoverPartner */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 61
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         7: .line 63
      StackMap locals: com.microsoft.sqlserver.jdbc.FailoverInfo java.lang.Class
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.failoverMap:Ljava/util/HashMap;
            aload 1 /* primaryServer */
            aload 2 /* instance */
            aload 3 /* database */
            invokestatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.concatPrimaryDatabase:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aload 4 /* actualFailoverInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 64
            goto 10
         9: .line 66
      StackMap locals:
      StackMap stack:
            aload 7 /* fo */
            aload 0 /* connection */
            iload 5 /* actualuseFailover */
            aload 6 /* failoverPartner */
            invokevirtual com.microsoft.sqlserver.jdbc.FailoverInfo.failoverAdd:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;ZLjava/lang/String;)V
        10: .line 57
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        11: goto 14
        end local 7 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int java.lang.String top java.lang.Class
      StackMap stack: java.lang.Throwable
        12: aload 8
            monitorexit
        13: athrow
        start local 7 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
        14: .line 68
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo
      StackMap stack:
            return
        end local 7 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
        end local 6 // java.lang.String failoverPartner
        end local 5 // boolean actualuseFailover
        end local 4 // com.microsoft.sqlserver.jdbc.FailoverInfo actualFailoverInfo
        end local 3 // java.lang.String database
        end local 2 // java.lang.String instance
        end local 1 // java.lang.String primaryServer
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection connection
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0          connection  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   15     1       primaryServer  Ljava/lang/String;
            0   15     2            instance  Ljava/lang/String;
            0   15     3            database  Ljava/lang/String;
            0   15     4  actualFailoverInfo  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
            0   15     5   actualuseFailover  Z
            0   15     6     failoverPartner  Ljava/lang/String;
            2   12     7                  fo  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
           14   15     7                  fo  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
      Exception table:
        from    to  target  type
           1    11      12  any
          12    13      12  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                    Name  Flags
      connection          
      primaryServer       
      instance            
      database            
      actualFailoverInfo  
      actualuseFailover   
      failoverPartner     
}
SourceFile: "FailOverMapSingleton.java"