public abstract class javax.security.auth.Policy
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: javax.security.auth.Policy
super_class: java.lang.Object
{
private static javax.security.auth.Policy policy;
descriptor: Ljavax/security/auth/Policy;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.String AUTH_POLICY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.security.provider.AuthPolicyFile"
private final java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static boolean isCustomPolicy;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield javax.security.auth.Policy.acc:Ljava/security/AccessControlContext;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/security/auth/Policy;
public static javax.security.auth.Policy getPolicy();
descriptor: ()Ljavax/security/auth/Policy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 2
aload 0
new javax.security.auth.AuthPermission
dup
ldc "getPolicy"
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
2: StackMap locals: java.lang.SecurityManager
StackMap stack:
invokestatic javax.security.auth.Policy.getPolicyNoCheck:()Ljavax/security/auth/Policy;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 sm Ljava/lang/SecurityManager;
static javax.security.auth.Policy getPolicyNoCheck();
descriptor: ()Ljavax/security/auth/Policy;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: getstatic javax.security.auth.Policy.policy:Ljavax/security/auth/Policy;
ifnonnull 24
1: ldc Ljavax/security/auth/Policy;
dup
astore 0
monitorenter
2: getstatic javax.security.auth.Policy.policy:Ljavax/security/auth/Policy;
ifnonnull 20
3: aconst_null
astore 1
start local 1 4: new javax.security.auth.Policy$1
dup
invokespecial javax.security.auth.Policy$1.<init>:()V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
6: aload 1
ifnonnull 8
7: ldc "sun.security.provider.AuthPolicyFile"
astore 1
8: StackMap locals: java.lang.Class java.lang.String
StackMap stack:
aload 1
astore 2
start local 2 9: new javax.security.auth.Policy$2
dup
aload 2
invokespecial javax.security.auth.Policy$2.<init>:(Ljava/lang/String;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast javax.security.auth.Policy
astore 3
start local 3 11: new javax.security.auth.Policy$3
dup
aload 3
aload 2
invokespecial javax.security.auth.Policy$3.<init>:(Ljavax/security/auth/Policy;Ljava/lang/String;)V
12: aload 3
getfield javax.security.auth.Policy.acc:Ljava/security/AccessControlContext;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AccessControlContext
13: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
end local 3 end local 2 14: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
15: pop
16: new java.lang.SecurityException
dup
17: ldc "unable.to.instantiate.Subject.based.policy"
18: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
19: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 1 20: StackMap locals:
StackMap stack:
aload 0
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 0
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
getstatic javax.security.auth.Policy.policy:Ljavax/security/auth/Policy;
areturn
LocalVariableTable:
Start End Slot Name Signature
4 20 1 policy_class Ljava/lang/String;
9 14 2 finalClass Ljava/lang/String;
11 14 3 untrustedImpl Ljavax/security/auth/Policy;
Exception table:
from to target type
8 14 15 Class java.lang.Exception
2 21 22 any
22 23 22 any
public static void setPolicy(javax.security.auth.Policy);
descriptor: (Ljavax/security/auth/Policy;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
new javax.security.auth.AuthPermission
dup
ldc "setPolicy"
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
2: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
putstatic javax.security.auth.Policy.policy:Ljavax/security/auth/Policy;
3: aload 0
ifnull 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: putstatic javax.security.auth.Policy.isCustomPolicy:Z
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 policy Ljavax/security/auth/Policy;
1 7 1 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
policy
static boolean isCustomPolicySet(sun.security.util.Debug);
descriptor: (Lsun/security/util/Debug;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic javax.security.auth.Policy.policy:Ljavax/security/auth/Policy;
ifnull 6
1: aload 0
ifnull 5
getstatic javax.security.auth.Policy.isCustomPolicy:Z
ifeq 5
2: aload 0
new java.lang.StringBuilder
dup
ldc "Providing backwards compatibility for javax.security.auth.policy implementation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: getstatic javax.security.auth.Policy.policy:Ljavax/security/auth/Policy;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
getstatic javax.security.auth.Policy.isCustomPolicy:Z
ireturn
6: StackMap locals:
StackMap stack:
new javax.security.auth.Policy$4
dup
invokespecial javax.security.auth.Policy$4.<init>:()V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 8: aload 1
ifnull 14
aload 1
ldc "sun.security.provider.AuthPolicyFile"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
9: aload 0
ifnull 13
10: aload 0
new java.lang.StringBuilder
dup
ldc "Providing backwards compatibility for javax.security.auth.policy implementation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: StackMap locals: java.lang.String
StackMap stack:
iconst_1
ireturn
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 debug Lsun/security/util/Debug;
8 15 1 policyClass Ljava/lang/String;
MethodParameters:
Name Flags
debug
public abstract java.security.PermissionCollection getPermissions(javax.security.auth.Subject, java.security.CodeSource);
descriptor: (Ljavax/security/auth/Subject;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
subject
cs
public abstract void refresh();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "Policy.java"
NestMembers:
javax.security.auth.Policy$1 javax.security.auth.Policy$2 javax.security.auth.Policy$3 javax.security.auth.Policy$4
InnerClasses:
javax.security.auth.Policy$1
javax.security.auth.Policy$2
javax.security.auth.Policy$3
javax.security.auth.Policy$4
RuntimeVisibleAnnotations:
java.lang.Deprecated(since = "1.4")