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.*" 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.
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
,
PermissionCollection
,
SecurityManager
Constructor 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.
|
PermissionCollection |
newPermissionCollection()
Returns a new PermissionCollection object for storing
PropertyPermission objects.
|
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(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.public PermissionCollection newPermissionCollection()
newPermissionCollection
in class BasicPermission
Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. Use of this specification is subject to license terms.