public final class javax.security.auth.kerberos.DelegationPermission extends java.security.BasicPermission implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: javax.security.auth.kerberos.DelegationPermission
  super_class: java.security.BasicPermission
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 883133252142523922

  private transient java.lang.String subordinate;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String service;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  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.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.String principals
         0: .line 85
            aload 0 /* this */
            aload 1 /* principals */
            invokespecial java.security.BasicPermission.<init>:(Ljava/lang/String;)V
         1: .line 86
            aload 0 /* this */
            aload 1 /* principals */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 87
            return
        end local 1 // java.lang.String principals
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    3     1  principals  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      principals  

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.String principals
        start local 2 // java.lang.String actions
         0: .line 102
            aload 0 /* this */
            aload 1 /* principals */
            aload 2 /* actions */
            invokespecial java.security.BasicPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 103
            aload 0 /* this */
            aload 1 /* principals */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 104
            return
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String principals
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    3     1  principals  Ljava/lang/String;
            0    3     2     actions  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      principals  
      actions     

  private void init(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.String target
         0: .line 112
            aconst_null
            astore 2 /* t */
        start local 2 // java.util.StringTokenizer t
         1: .line 113
            aload 1 /* target */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         2: .line 114
            new java.lang.IllegalArgumentException
            dup
         3: .line 115
            new java.lang.StringBuilder
            dup
            ldc "service principal ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 116
            ldc "] syntax invalid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 117
            ldc "improperly quoted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 115
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 114
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 119
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* target */
            ldc "\""
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 2 /* t */
         9: .line 120
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            putfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
        10: .line 121
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            iconst_2
            if_icmpne 14
        11: .line 122
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        12: .line 123
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            putfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
        13: .line 124
            goto 21
      StackMap locals:
      StackMap stack:
        14: aload 2 /* t */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            ifle 21
        15: .line 125
            new java.lang.IllegalArgumentException
            dup
        16: .line 126
            new java.lang.StringBuilder
            dup
            ldc "service principal ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 127
            ldc "] syntax invalid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 128
            ldc "improperly quoted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 126
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 125
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.StringTokenizer t
        end local 1 // java.lang.String target
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Ljavax/security/auth/kerberos/DelegationPermission;
            0   22     1  target  Ljava/lang/String;
            1   22     2       t  Ljava/util/StringTokenizer;
    MethodParameters:
        Name  Flags
      target  

  public boolean implies(java.security.Permission);
    descriptor: (Ljava/security/Permission;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.security.Permission p
         0: .line 144
            aload 1 /* p */
            instanceof javax.security.auth.kerberos.DelegationPermission
            ifne 2
         1: .line 145
            iconst_0
            ireturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            checkcast javax.security.auth.kerberos.DelegationPermission
            astore 2 /* that */
        start local 2 // javax.security.auth.kerberos.DelegationPermission that
         3: .line 148
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
            aload 2 /* that */
            getfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 149
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
            aload 2 /* that */
            getfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 150
            iconst_1
            ireturn
         6: .line 152
      StackMap locals: javax.security.auth.kerberos.DelegationPermission
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // javax.security.auth.kerberos.DelegationPermission that
        end local 1 // java.security.Permission p
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    7     1     p  Ljava/security/Permission;
            3    7     2  that  Ljavax/security/auth/kerberos/DelegationPermission;
    MethodParameters:
      Name  Flags
      p     

  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.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.Object obj
         0: .line 166
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 167
            iconst_1
            ireturn
         2: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.security.auth.kerberos.DelegationPermission
            ifne 4
         3: .line 170
            iconst_0
            ireturn
         4: .line 172
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast javax.security.auth.kerberos.DelegationPermission
            astore 2 /* that */
        start local 2 // javax.security.auth.kerberos.DelegationPermission that
         5: .line 173
            aload 0 /* this */
            aload 2 /* that */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.implies:(Ljava/security/Permission;)Z
            ireturn
        end local 2 // javax.security.auth.kerberos.DelegationPermission that
        end local 1 // java.lang.Object obj
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    6     1   obj  Ljava/lang/Object;
            5    6     2  that  Ljavax/security/auth/kerberos/DelegationPermission;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
         0: .line 182
            aload 0 /* this */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/security/auth/kerberos/DelegationPermission;

  public java.security.PermissionCollection newPermissionCollection();
    descriptor: ()Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
         0: .line 200
            new javax.security.auth.kerberos.KrbDelegationPermissionCollection
            dup
            invokespecial javax.security.auth.kerberos.KrbDelegationPermissionCollection.<init>:()V
            areturn
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/security/auth/kerberos/DelegationPermission;

  private synchronized void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 211
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 212
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    2     1     s  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private synchronized void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.io.ObjectInputStream s
         0: .line 222
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 223
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.getName:()Ljava/lang/String;
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 224
            return
        end local 1 // java.io.ObjectInputStream s
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    3     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "DelegationPermission.java"