public class com.codahale.metrics.jmx.DefaultObjectNameFactory implements com.codahale.metrics.jmx.ObjectNameFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.codahale.metrics.jmx.DefaultObjectNameFactory
  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 void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 13
            ldc Lcom/codahale/metrics/jmx/JmxReporter;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic com.codahale.metrics.jmx.DefaultObjectNameFactory.LOGGER:Lorg/slf4j/Logger;
            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.codahale.metrics.jmx.DefaultObjectNameFactory this
         0: .line 11
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.codahale.metrics.jmx.DefaultObjectNameFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/codahale/metrics/jmx/DefaultObjectNameFactory;

  public javax.management.ObjectName createName(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.codahale.metrics.jmx.DefaultObjectNameFactory this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String domain
        start local 3 // java.lang.String name
         0: .line 19
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 5 /* properties */
        start local 5 // java.util.Hashtable properties
         1: .line 21
            aload 5 /* properties */
            ldc "name"
            aload 3 /* name */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 22
            aload 5 /* properties */
            ldc "type"
            aload 1 /* type */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 23
            new javax.management.ObjectName
            dup
            aload 2 /* domain */
            aload 5 /* properties */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;Ljava/util/Hashtable;)V
            astore 4 /* objectName */
        start local 4 // javax.management.ObjectName objectName
         4: .line 29
            aload 4 /* objectName */
            invokevirtual javax.management.ObjectName.isDomainPattern:()Z
            ifeq 6
         5: .line 30
            aload 2 /* domain */
            invokestatic javax.management.ObjectName.quote:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* domain */
         6: .line 32
      StackMap locals: javax.management.ObjectName java.util.Hashtable
      StackMap stack:
            aload 4 /* objectName */
            ldc "name"
            invokevirtual javax.management.ObjectName.isPropertyValuePattern:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 33
            aload 5 /* properties */
            ldc "name"
            aload 3 /* name */
            invokestatic javax.management.ObjectName.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 35
      StackMap locals:
      StackMap stack:
            aload 4 /* objectName */
            ldc "type"
            invokevirtual javax.management.ObjectName.isPropertyValuePattern:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 36
            aload 5 /* properties */
            ldc "type"
            aload 1 /* type */
            invokestatic javax.management.ObjectName.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 38
      StackMap locals:
      StackMap stack:
            new javax.management.ObjectName
            dup
            aload 2 /* domain */
            aload 5 /* properties */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;Ljava/util/Hashtable;)V
            astore 4 /* objectName */
        11: .line 40
            aload 4 /* objectName */
        12: areturn
        end local 5 // java.util.Hashtable properties
        end local 4 // javax.management.ObjectName objectName
        13: .line 41
      StackMap locals: com.codahale.metrics.jmx.DefaultObjectNameFactory java.lang.String java.lang.String java.lang.String
      StackMap stack: javax.management.MalformedObjectNameException
            pop
        14: .line 43
            new javax.management.ObjectName
            dup
            aload 2 /* domain */
            ldc "name"
            aload 3 /* name */
            invokestatic javax.management.ObjectName.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        15: areturn
        16: .line 44
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
            astore 4 /* e1 */
        start local 4 // javax.management.MalformedObjectNameException e1
        17: .line 45
            getstatic com.codahale.metrics.jmx.DefaultObjectNameFactory.LOGGER:Lorg/slf4j/Logger;
            ldc "Unable to register {} {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            dup
            iconst_1
            aload 3 /* name */
            aastore
            dup
            iconst_2
            aload 4 /* e1 */
            aastore
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 46
            new java.lang.RuntimeException
            dup
            aload 4 /* e1 */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // javax.management.MalformedObjectNameException e1
        end local 3 // java.lang.String name
        end local 2 // java.lang.String domain
        end local 1 // java.lang.String type
        end local 0 // com.codahale.metrics.jmx.DefaultObjectNameFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/codahale/metrics/jmx/DefaultObjectNameFactory;
            0   19     1        type  Ljava/lang/String;
            0   19     2      domain  Ljava/lang/String;
            0   19     3        name  Ljava/lang/String;
            4   13     4  objectName  Ljavax/management/ObjectName;
            1   13     5  properties  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
           17   19     4          e1  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           0    12      13  Class javax.management.MalformedObjectNameException
          14    15      16  Class javax.management.MalformedObjectNameException
    MethodParameters:
        Name  Flags
      type    
      domain  
      name    
}
SourceFile: "DefaultObjectNameFactory.java"