public final class PropertyPermission extends BasicPermission
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.*" or "*" is valid, "*java" or "a*b" is not valid.
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).
BasicPermission
,
Permission
,
SecurityManager
,
Serialized FormConstructor and Description |
---|
PropertyPermission(String name,
String actions)
Creates a new PropertyPermission object with the specified name.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Checks two PropertyPermission objects for equality.
|
String |
getActions()
Returns the "canonical string representation" of the actions.
|
int |
hashCode()
Returns the hash code value for this object.
|
boolean |
implies(Permission p)
Checks if this PropertyPermission object "implies" the specified permission.
|
getName, toString
public PropertyPermission(String name, String actions)
name
- the name of the PropertyPermission.actions
- the actions string.NullPointerException
- if name
is null
.IllegalArgumentException
- if name
is empty or if actions
is invalid.public boolean equals(@Nullable Object obj)
equals
in class BasicPermission
obj
- the object we are testing for equality with this object.Object.hashCode()
,
HashMap
public String getActions()
getActions
will return the
string "read,write".getActions
in class BasicPermission
public int hashCode()
getName().hashCode()
, where getName
is from
the Permission superclass.hashCode
in class BasicPermission
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean implies(Permission p)
More specifically, this method returns true if:
implies
in class BasicPermission
p
- the permission to check against.