java.util

Class PropertyPermission

Implemented Interfaces:
Guard, Serializable

public final class PropertyPermission
extends BasicPermission

This class represents the permission to access and modify a property.
The name is the name of the property, e.g. xxx. You can also use an asterisk "*" as described in BasicPermission.
The action string is a comma-separated list of keywords. There are two possible actions:
System.getProperty
System.setProperty
The action string is case insensitive (it is converted to lower case).
Since:
1.2
See Also:
Permission, BasicPermission, SecurityManager, Serialized Form

Constructor Summary

PropertyPermission(String name, String actions)
Constructs a PropertyPermission with the specified property.

Method Summary

boolean
equals(Object obj)
Check to see whether this object is the same as another PropertyPermission object; this is true if it has the same name and actions.
String
getActions()
Returns the action string.
int
hashCode()
Returns the hash code for this permission.
boolean
implies(Permission p)
Check if this permission implies p.
PermissionCollection
newPermissionCollection()
Returns a permission collection suitable to take PropertyPermission objects.

Methods inherited from class java.security.BasicPermission

equals, getActions, hashCode, implies, newPermissionCollection

Methods inherited from class java.security.Permission

checkGuard, equals, getActions, getName, hashCode, implies, newPermissionCollection, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

PropertyPermission

public PropertyPermission(String name,
                          String actions)
Constructs a PropertyPermission with the specified property. Possible actions are read and write, comma-separated and case-insensitive.
Parameters:
name - the name of the property
actions - the action string
Throws:
NullPointerException - if name is null
IllegalArgumentException - if name string contains an illegal wildcard or actions string contains an illegal action (this includes a null actions string)

Method Details

equals

public boolean equals(Object obj)
Check to see whether this object is the same as another PropertyPermission object; this is true if it has the same name and actions.
Overrides:
equals in interface BasicPermission
Parameters:
obj - the other object
Returns:
true if the two are equivalent

getActions

public String getActions()
Returns the action string. Note that this may differ from the string given at the constructor: The actions are converted to lowercase and may be reordered.
Overrides:
getActions in interface BasicPermission
Returns:
one of "read", "write", or "read,write"

hashCode

public int hashCode()
Returns the hash code for this permission. It is equivalent to getName().hashCode().
Overrides:
hashCode in interface BasicPermission
Returns:
the hash code

implies

public boolean implies(Permission p)
Check if this permission implies p. This returns true iff all of the following conditions are true:
  • p is a PropertyPermission
  • this.getName() implies p.getName(), e.g. java.* implies java.home
  • this.getActions is a subset of p.getActions
Overrides:
implies in interface BasicPermission
Parameters:
p - the permission to check
Returns:
true if this permission implies p

newPermissionCollection

public PermissionCollection newPermissionCollection()
Returns a permission collection suitable to take PropertyPermission objects.
Overrides:
newPermissionCollection in interface BasicPermission
Returns:
a new empty PermissionCollection

PropertyPermission.java -- permission to get and set System properties Copyright (C) 1999, 2000, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.