Additional top-level class in compilation unit: PropertyPermissionCollection.
The name is the name of the property ("java.home", "os.name", etc). The naming convention follows the hierarchical property naming convention. Also, an asterisk may appear at the end of the name, following a ".", or by itself, to signify a wildcard match. For example: "java.*" and "*" signify a wildcard match, while "*java" and "a*b" do not.
The actions to be granted are passed to the constructor in a string containing a list of one or more comma-separated keywords. The possible keywords are "read" and "write". Their meaning is defined as follows:
System.getProperty
to
be called.
System.setProperty
to
be called.
The actions string is converted to lowercase before processing.
Care should be taken before granting code permission to access certain system properties. For example, granting permission to access the "java.home" system property gives potentially malevolent code sensitive information about the system environment (the Java installation directory). Also, granting permission to access the "user.name" and "user.home" system properties gives potentially malevolent code sensitive information about the user environment (the user's account name and home directory).
java.security.BasicPermission
, java.security.Permission
, java.security.Permissions
, java.security.PermissionCollection
, java.lang.SecurityManager
Modifier and Type | Field and Description |
---|---|
private String | actions
The actions string. |
private static final int | ALL
All actions (read,write); |
private transient int | mask
The actions mask. |
private static final int | NONE
No actions. |
private static final int | READ
Read action. |
private static final long | |
private static final int | WRITE
Write action. |
Access | Constructor and Description |
---|---|
public | PropertyPermission(String
the name of the PropertyPermission. name, String the actions string. actions)Creates a new PropertyPermission object with the specified name. |
pack-priv | PropertyPermission(String name, int mask)
Creates a PropertyPermission object with the specified name and a pre-calculated mask. |
Modifier and Type | Method and Description |
---|---|
public boolean | Returns: true if obj is a PropertyPermission, and has the same name and actions as this PropertyPermission object.the object we are testing for equality with this object. obj)Overrides java. Checks two PropertyPermission objects for equality. |
pack-priv static String | Returns: the canonical string representation of the actions.Return the canonical string representation of the actions. |
public String | Returns: the canonical string representation of the actions.Overrides java. Returns the "canonical string representation" of the actions. |
private static int | |
pack-priv int | |
public int | Returns: a hash code value for this object.Overrides java. Returns the hash code value for this object. |
public boolean | Returns: true if the specified permission is implied by this object, false if not.the permission to check against. p)Overrides java. Checks if this PropertyPermission object "implies" the specified permission. |
private void | |
public PermissionCollection | Returns: a new PermissionCollection object suitable for storing PropertyPermissions.Overrides java. Returns a new PermissionCollection object for storing PropertyPermission objects. |
private synchronized void | readObject(ObjectInputStream
the s)ObjectInputStream from which data is readHides java. readObject is called to restore the state of the PropertyPermission from a stream. |
private synchronized void | writeObject(ObjectOutputStream s)
WriteObject is called to save the state of the PropertyPermission to a stream. |
actions | back to summary |
---|---|
private String actions The actions string. |
ALL | back to summary |
---|---|
private static final int ALL All actions (read,write); |
mask | back to summary |
---|---|
private transient int mask The actions mask. |
NONE | back to summary |
---|---|
private static final int NONE No actions. |
READ | back to summary |
---|---|
private static final int READ Read action. |
serialVersionUID | back to summary |
---|---|
private static final long serialVersionUID Hides java. |
WRITE | back to summary |
---|---|
private static final int WRITE Write action. |
PropertyPermission | back to summary |
---|---|
public PropertyPermission(String name, String actions) Creates a new PropertyPermission object with the specified name. The name is the name of the system property, and actions contains a comma-separated list of the desired actions granted on the property. Possible actions are "read" and "write".
|
PropertyPermission | back to summary |
---|---|
pack-priv PropertyPermission(String name, int mask) Creates a PropertyPermission object with the specified name and a pre-calculated mask. Avoids the overhead of re-computing the mask. Called by PropertyPermissionCollection. |
equals | back to summary |
---|---|
public boolean equals(Object obj) Overrides java. Checks two PropertyPermission objects for equality. Checks that obj is a PropertyPermission, and has the same name and actions as this object. |
getActions | back to summary |
---|---|
pack-priv static String getActions(int mask) Return the canonical string representation of the actions. Always returns present actions in the following order: read, write.
|
getActions | back to summary |
---|---|
public String getActions() Overrides java. Returns the "canonical string representation" of the actions.
That is, this method always returns present actions in the following order:
read, write. For example, if this PropertyPermission object
allows both write and read actions, a call to |
getMask | back to summary |
---|---|
private static int getMask(String actions) Converts an actions String to an actions mask.
|
getMask | back to summary |
---|---|
pack-priv int getMask() Return the current action mask. Used by the PropertyPermissionCollection
|
hashCode | back to summary |
---|---|
public int hashCode() Overrides java. Returns the hash code value for this object.
The hash code used is the hash code of this permissions name, that is,
|
implies | back to summary |
---|---|
public boolean implies(Permission p) Overrides java. Checks if this PropertyPermission object "implies" the specified permission. More specifically, this method returns true if:
|
init | back to summary |
---|---|
private void init(int mask) initialize a PropertyPermission object. Common to all constructors. Also called during de-serialization.
|
newPermissionCollection | back to summary |
---|---|
public PermissionCollection newPermissionCollection() Overrides java. Returns a new PermissionCollection object for storing PropertyPermission objects.
|
readObject | back to summary |
---|---|
private synchronized void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException Hides java. readObject is called to restore the state of the PropertyPermission from a stream.
|
writeObject | back to summary |
---|---|
private synchronized void writeObject(ObjectOutputStream s) throws IOException WriteObject is called to save the state of the PropertyPermission to a stream. The actions are serialized, and the superclass takes care of the name.
|