|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.security.Permission | +--java.security.UnresolvedPermission
Untamed: The UnresolvedPermission class is used to hold Permissions that were "unresolved" when the Policy was initialized. An unresolved permission is one whose actual Permission class does not yet exist at the time the Policy is initialized (see below).
The policy for a Java runtime (specifying which permissions are available for code from various principals) is represented by a Policy object. Whenever a Policy is initialized or refreshed, Permission objects of appropriate classes are created for all permissions allowed by the Policy.
Many permission class types referenced by the policy configuration are ones that exist locally (i.e., ones that can be found on CLASSPATH). Objects for such permissions can be instantiated during Policy initialization. For example, it is always possible to instantiate a java.io.FilePermission, since the FilePermission class is found on the CLASSPATH.
Other permission classes may not yet exist during Policy initialization. For example, a referenced permission class may be in a JAR file that will later be loaded. For each such class, an UnresolvedPermission is instantiated. Thus, an UnresolvedPermission is essentially a "placeholder" containing information about the permission.
Later, when code calls AccessController.checkPermission on a permission of a type that was previously unresolved, but whose class has since been loaded, previously-unresolved permissions of that type are "resolved". That is, for each such UnresolvedPermission, a new object of the appropriate class type is instantiated, based on the information in the UnresolvedPermission. This new object replaces the UnresolvedPermission, which is removed.
java.security.Permission
,
java.security.Permissions
,
java.security.PermissionCollection
,
java.security.Policy
,
Serialized FormField Summary | |
private String |
actions
The actions of the permission. |
private java.security.cert.Certificate[] |
certs
|
private static sun.security.util.Debug |
debug
|
private String |
name
The permission name. |
private static Class[] |
PARAMS0
|
private static Class[] |
PARAMS1
|
private static Class[] |
PARAMS2
|
private String |
type
The class name of the Permission class that will be created when this unresolved permission is resolved. |
Constructor Summary | |
UnresolvedPermission(String type,
String name,
String actions,
java.security.cert.Certificate[] certs)
Enabled: Creates a new UnresolvedPermission containing the permission information needed later to actually create a Permission of the specified class, when the permission is resolved. |
Method Summary | |
boolean |
equals(Object obj)
Suppressed: Checks two UnresolvedPermission objects for equality. |
String |
getActions()
Enabled: Returns the canonical string representation of the actions, which currently is the empty string "", since there are no actions for an UnresolvedPermission. |
int |
hashCode()
Suppressed: Returns the hash code value for this object. |
boolean |
implies(Permission p)
Enabled: This method always returns false for unresolved permissions. |
PermissionCollection |
newPermissionCollection()
Enabled: Returns a new PermissionCollection object for storing UnresolvedPermission objects. |
private void |
readObject(ObjectInputStream ois)
Restores this object from a stream (i.e., deserializes it). |
(package private) Permission |
resolve(Permission p,
java.security.cert.Certificate[] certs)
try and resolve this permission using the class loader of the permission that was passed in. |
String |
toString()
Suppressed: Returns a string describing this UnresolvedPermission. |
private void |
writeObject(ObjectOutputStream oos)
Writes this object out to a stream (i.e., serializes it). |
Methods inherited from class java.security.Permission |
checkGuard, getName |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final sun.security.util.Debug debug
private String type
private String name
private String actions
private transient java.security.cert.Certificate[] certs
private static final Class[] PARAMS0
private static final Class[] PARAMS1
private static final Class[] PARAMS2
Constructor Detail |
public UnresolvedPermission(String type, String name, String actions, java.security.cert.Certificate[] certs)
type
- the class name of the Permission class that will be
created when this unresolved permission is resolved.name
- the name of the permission.actions
- the actions of the permission.certs
- the certificates the permission's class was signed with.
This is a list of certificate chains, where each chain is composed of a
signer certificate and optionally its supporting certificate chain.
Each chain is ordered bottom-to-top (i.e., with the signer certificate
first and the (root) certificate authority last).Method Detail |
Permission resolve(Permission p, java.security.cert.Certificate[] certs)
public boolean implies(Permission p)
implies
in class Permission
p
- the permission to check against.
public boolean equals(Object obj)
equals
in class Permission
obj
- the object we are testing for equality with this object.
public int hashCode()
hashCode
in class Permission
public String getActions()
getActions
in class Permission
public String toString()
toString
in class Permission
public PermissionCollection newPermissionCollection()
newPermissionCollection
in class Permission
private void writeObject(ObjectOutputStream oos) throws IOException
IOException
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |