java.util

接口
异常
错误
java.lang.Object
  继承者 java.security.Permission
      继承者 java.security.BasicPermission
          继承者 java.util.PropertyPermission
所有已实现的接口:
Serializable, Guard

public final class PropertyPermission
     
extends BasicPermission

此类用于属性权限。

其名称就是属性名("java.home"、"os.name",等等)。命名约定遵守层次结构属性命名约定。另外,名称的末尾可能有一个星号,星号前有一个 ".",用来表示通配符。例如:"java.*" 或 "*" 是有效的,而 "java.*" 或 "a*b"则无效。

将所要授予的动作权限以字符串的形式传递给构造方法,该字符串包含一个零列表或多个由逗号分隔的关键字。可能的关键字有 "read" 和 "write"。其含义定义如下:

read
读权限。允许调用 System.getProperty
write
写权限。允许调用 System.setProperty

处理前会将动作字符串转换为小写字母。

授予代码访问某些系统属性的权限前应该小心。例如,授予访问 "java.home" 系统属性的权限就会将有关系统环境(Java 安装目录)的敏感信息给予潜在的恶意代码。另外,授予访问 "user.name" 和 "user.home" 系统属性的权限就会将有关用户环境(用户的帐户名和主目录)的敏感信息给予潜在的恶意代码。

从以下版本开始:
1.2
另请参见:
BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager

构造方法摘要
PropertyPermission(String name, String actions)
          创建带指定名称的新 PropertyPermission 对象。
 
方法摘要
 boolean equals(Object obj)
          检查两个 PropertyPermission 对象是否相等。
 String getActions()
          返回动作的“规范化字符串表示形式”。
 int hashCode()
          返回对象的哈希码值。
 boolean implies(Permission p)
          检查 PropertyPermission 对象是否“暗指”指定的权限。
 PermissionCollection newPermissionCollection()
          用于存储 PropertyPermission 对象的新 PermissionCollection 对象。
 
从类 java.security.Permission 继承的方法
checkGuard, getName, toString
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

PropertyPermission

public PropertyPermission(String name,
                          String actions)
创建带指定名称的新 PropertyPermission 对象。其名称就是属性名,并且 actions 包含在该属性上授予的所需动作列表,各动作用逗号分隔。可能的动作有 "read" 和 "write"。

参数:
name - PropertyPermission 的名称。
actions - 动作字符串。
抛出:
NullPointerException - 如果 namenull
IllegalArgumentException - 如果 name 为空或者 actions 无效。
方法详细信息

implies

public boolean implies(Permission p)
检查 PropertyPermission 对象是否“暗指”指定的权限。

更明确地说,如果此方法满足以下条件,则返回 true:

  • p 是 PropertyPermission 的一个实例,

  • p 的动作是此对象的动作的一个子集,并且

  • 此对象的名称暗指了 p 的名字。例如,"java.*" 暗指 "java.home"。

覆盖:
BasicPermission 中的 implies
参数:
p - 所要检查的权限。
返回:
如果对象暗指了指定的权限,则返回 true;否则返回 false。

equals

public boolean equals(Object obj)
检查两个 PropertyPermission 对象是否相等。检查 obj 是否为一个 PropertyPermission,并且与此对象具有相同的名称和动作。

覆盖:
BasicPermission 中的 equals
参数:
obj - 要与此对象进行相等性测试的对象。
返回:
如果 obj 是一个 PropertyPermission,并且与此 PropertyPermission 对象具有相同的名称和动作,则返回 true。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回对象的哈希码值。所用的哈希码是此权限名的哈希码,也就是 getName().hashCode(),其中 getName 来自 Permission 超类。

覆盖:
BasicPermission 中的 hashCode
返回:
对象的哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

getActions

public String getActions()
返回动作的“规范化字符串表示形式”。也就是说,此方法总是以下列顺序返回存在的动作:read, write。例如,如果此 PropertyPermission 对象允许写和读操作,则调用 getActions 将返回字符串 "read,write"。

覆盖:
BasicPermission 中的 getActions
返回:
动作的规范化字符串表示形式。

newPermissionCollection

public PermissionCollection newPermissionCollection()
用于存储 PropertyPermission 对象的新 PermissionCollection 对象。

覆盖:
BasicPermission 中的 newPermissionCollection
返回:
适合存储 PropertyPermissions 的新 PermissionCollection 对象。