public class javax.management.remote.JMXPrincipal implements java.security.Principal, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.remote.JMXPrincipal
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -4184480100214577411

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.remote.JMXPrincipal this
        start local 1 // java.lang.String name
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 1 /* name */
            invokestatic javax.management.remote.JMXPrincipal.validate:(Ljava/lang/String;)V
         2: .line 71
            aload 0 /* this */
            aload 1 /* name */
            putfield javax.management.remote.JMXPrincipal.name:Ljava/lang/String;
         3: .line 72
            return
        end local 1 // java.lang.String name
        end local 0 // javax.management.remote.JMXPrincipal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/remote/JMXPrincipal;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.remote.JMXPrincipal this
         0: .line 82
            aload 0 /* this */
            getfield javax.management.remote.JMXPrincipal.name:Ljava/lang/String;
            areturn
        end local 0 // javax.management.remote.JMXPrincipal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/remote/JMXPrincipal;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.remote.JMXPrincipal this
         0: .line 93
            new java.lang.StringBuilder
            dup
            ldc "JMXPrincipal:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield javax.management.remote.JMXPrincipal.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // javax.management.remote.JMXPrincipal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/remote/JMXPrincipal;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.management.remote.JMXPrincipal this
        start local 1 // java.lang.Object o
         0: .line 111
            aload 1 /* o */
            ifnonnull 2
         1: .line 112
            iconst_0
            ireturn
         2: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 4
         3: .line 115
            iconst_1
            ireturn
         4: .line 117
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.management.remote.JMXPrincipal
            ifne 6
         5: .line 118
            iconst_0
            ireturn
         6: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast javax.management.remote.JMXPrincipal
            astore 2 /* that */
        start local 2 // javax.management.remote.JMXPrincipal that
         7: .line 121
            aload 0 /* this */
            invokevirtual javax.management.remote.JMXPrincipal.getName:()Ljava/lang/String;
            aload 2 /* that */
            invokevirtual javax.management.remote.JMXPrincipal.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // javax.management.remote.JMXPrincipal that
        end local 1 // java.lang.Object o
        end local 0 // javax.management.remote.JMXPrincipal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/management/remote/JMXPrincipal;
            0    8     1     o  Ljava/lang/Object;
            7    8     2  that  Ljavax/management/remote/JMXPrincipal;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.remote.JMXPrincipal this
         0: .line 132
            aload 0 /* this */
            getfield javax.management.remote.JMXPrincipal.name:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // javax.management.remote.JMXPrincipal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/remote/JMXPrincipal;

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.management.remote.JMXPrincipal this
        start local 1 // java.io.ObjectInputStream ois
         0: .line 136
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
            astore 2 /* gf */
        start local 2 // java.io.ObjectInputStream$GetField gf
         1: .line 137
            aload 2 /* gf */
            ldc "name"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* principalName */
        start local 3 // java.lang.String principalName
         2: .line 139
            aload 3 /* principalName */
            invokestatic javax.management.remote.JMXPrincipal.validate:(Ljava/lang/String;)V
         3: .line 140
            aload 0 /* this */
            aload 3 /* principalName */
            putfield javax.management.remote.JMXPrincipal.name:Ljava/lang/String;
         4: .line 141
            goto 7
      StackMap locals: javax.management.remote.JMXPrincipal java.io.ObjectInputStream java.io.ObjectInputStream$GetField java.lang.String
      StackMap stack: java.lang.NullPointerException
         5: astore 4 /* e */
        start local 4 // java.lang.NullPointerException e
         6: .line 142
            new java.io.InvalidObjectException
            dup
            aload 4 /* e */
            invokevirtual java.lang.NullPointerException.getMessage:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.NullPointerException e
         7: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String principalName
        end local 2 // java.io.ObjectInputStream$GetField gf
        end local 1 // java.io.ObjectInputStream ois
        end local 0 // javax.management.remote.JMXPrincipal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Ljavax/management/remote/JMXPrincipal;
            0    8     1            ois  Ljava/io/ObjectInputStream;
            1    8     2             gf  Ljava/io/ObjectInputStream$GetField;
            2    8     3  principalName  Ljava/lang/String;
            6    7     4              e  Ljava/lang/NullPointerException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.NullPointerException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      ois   

  private static void validate(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 147
            aload 0 /* name */
            ifnonnull 2
         1: .line 148
            new java.lang.NullPointerException
            dup
            ldc "illegal null input"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.NullPointerException
    MethodParameters:
      Name  Flags
      name  
}
SourceFile: "JMXPrincipal.java"
InnerClasses:
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream