public class org.apache.tomcat.util.log.UserDataHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.log.UserDataHelper
  super_class: java.lang.Object
{
  private final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.tomcat.util.log.UserDataHelper$Config config;
    descriptor: Lorg/apache/tomcat/util/log/UserDataHelper$Config;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long suppressionTime;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile long lastInfoTime;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public void <init>(org.apache.juli.logging.Log);
    descriptor: (Lorg/apache/juli/logging/Log;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.tomcat.util.log.UserDataHelper this
        start local 1 // org.apache.juli.logging.Log log
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            lconst_0
            putfield org.apache.tomcat.util.log.UserDataHelper.lastInfoTime:J
         2: .line 54
            aload 0 /* this */
            aload 1 /* log */
            putfield org.apache.tomcat.util.log.UserDataHelper.log:Lorg/apache/juli/logging/Log;
         3: .line 58
            ldc "org.apache.juli.logging.UserDataHelper.CONFIG"
         4: .line 57
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* configString */
        start local 3 // java.lang.String configString
         5: .line 59
            aload 3 /* configString */
            ifnonnull 8
         6: .line 60
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.INFO_THEN_DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            astore 2 /* tempConfig */
        start local 2 // org.apache.tomcat.util.log.UserDataHelper$Config tempConfig
         7: .line 61
            goto 12
        end local 2 // org.apache.tomcat.util.log.UserDataHelper$Config tempConfig
         8: .line 63
      StackMap locals: org.apache.tomcat.util.log.UserDataHelper org.apache.juli.logging.Log top java.lang.String
      StackMap stack:
            aload 3 /* configString */
            invokestatic org.apache.tomcat.util.log.UserDataHelper$Config.valueOf:(Ljava/lang/String;)Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            astore 2 /* tempConfig */
        start local 2 // org.apache.tomcat.util.log.UserDataHelper$Config tempConfig
         9: .line 64
            goto 12
        end local 2 // org.apache.tomcat.util.log.UserDataHelper$Config tempConfig
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        10: pop
        11: .line 66
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.INFO_THEN_DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            astore 2 /* tempConfig */
        start local 2 // org.apache.tomcat.util.log.UserDataHelper$Config tempConfig
        12: .line 71
      StackMap locals: org.apache.tomcat.util.log.UserDataHelper org.apache.juli.logging.Log org.apache.tomcat.util.log.UserDataHelper$Config java.lang.String
      StackMap stack:
            aload 0 /* this */
        13: .line 72
            ldc "org.apache.juli.logging.UserDataHelper.SUPPRESSION_TIME"
        14: .line 73
            ldc 86400
        15: .line 71
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
        16: .line 73
            invokevirtual java.lang.Integer.intValue:()I
            i2l
            ldc 1000
        17: .line 71
            lmul
            putfield org.apache.tomcat.util.log.UserDataHelper.suppressionTime:J
        18: .line 75
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.suppressionTime:J
            lconst_0
            lcmp
            ifne 20
        19: .line 76
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.INFO_ALL:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            astore 2 /* tempConfig */
        20: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tempConfig */
            putfield org.apache.tomcat.util.log.UserDataHelper.config:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
        21: .line 80
            return
        end local 3 // java.lang.String configString
        end local 2 // org.apache.tomcat.util.log.UserDataHelper$Config tempConfig
        end local 1 // org.apache.juli.logging.Log log
        end local 0 // org.apache.tomcat.util.log.UserDataHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/apache/tomcat/util/log/UserDataHelper;
            0   22     1           log  Lorg/apache/juli/logging/Log;
            7    8     2    tempConfig  Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            9   10     2    tempConfig  Lorg/apache/tomcat/util/log/UserDataHelper$Config;
           12   22     2    tempConfig  Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            5   22     3  configString  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      log   

  public org.apache.tomcat.util.log.UserDataHelper$Mode getNextMode();
    descriptor: ()Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.log.UserDataHelper this
         0: .line 94
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.NONE:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.config:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            if_acmpne 2
         1: .line 95
            aconst_null
            areturn
         2: .line 96
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.DEBUG_ALL:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.config:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            if_acmpne 6
         3: .line 97
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 4
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.log.UserDataHelper$Mode
         5: areturn
         6: .line 98
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.INFO_THEN_DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.config:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            if_acmpne 14
         7: .line 99
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.log.UserDataHelper.logAtInfo:()Z
            ifeq 11
         8: .line 100
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isInfoEnabled:()Z
            ifeq 9
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.INFO_THEN_DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.log.UserDataHelper$Mode
        10: areturn
        11: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 12
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            goto 13
      StackMap locals:
      StackMap stack:
        12: aconst_null
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.log.UserDataHelper$Mode
        13: areturn
        14: .line 104
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.log.UserDataHelper$Config.INFO_ALL:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.config:Lorg/apache/tomcat/util/log/UserDataHelper$Config;
            if_acmpne 18
        15: .line 105
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isInfoEnabled:()Z
            ifeq 16
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.INFO:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            goto 17
      StackMap locals:
      StackMap stack:
        16: aconst_null
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.log.UserDataHelper$Mode
        17: areturn
        18: .line 108
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.apache.tomcat.util.log.UserDataHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/apache/tomcat/util/log/UserDataHelper;

  private boolean logAtInfo();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.tomcat.util.log.UserDataHelper this
         0: .line 119
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.suppressionTime:J
            lconst_0
            lcmp
            ifge 2
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.lastInfoTime:J
            lconst_0
            lcmp
            ifle 2
         1: .line 120
            iconst_0
            ireturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* now */
        start local 1 // long now
         3: .line 125
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.lastInfoTime:J
            aload 0 /* this */
            getfield org.apache.tomcat.util.log.UserDataHelper.suppressionTime:J
            ladd
            lload 1 /* now */
            lcmp
            ifle 5
         4: .line 126
            iconst_0
            ireturn
         5: .line 129
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 1 /* now */
            putfield org.apache.tomcat.util.log.UserDataHelper.lastInfoTime:J
         6: .line 130
            iconst_1
            ireturn
        end local 1 // long now
        end local 0 // org.apache.tomcat.util.log.UserDataHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/tomcat/util/log/UserDataHelper;
            3    7     1   now  J
}
SourceFile: "UserDataHelper.java"
NestMembers:
  org.apache.tomcat.util.log.UserDataHelper$Config  org.apache.tomcat.util.log.UserDataHelper$Mode
InnerClasses:
  private final Config = org.apache.tomcat.util.log.UserDataHelper$Config of org.apache.tomcat.util.log.UserDataHelper
  public final Mode = org.apache.tomcat.util.log.UserDataHelper$Mode of org.apache.tomcat.util.log.UserDataHelper