java.security
Class Permission
- Guard, Serializable
This class is the abstract superclass of all classes that implement
the concept of a permission. A permission consists of a permission name
and optionally a list of actions that relate to the permission. The
actual meaning of the name of the permission is defined only in the
context of a subclass. It may name a resource to which access permissions
are granted (for example, the name of a file) or it might represent
something else entirely. Similarly, the action list only has meaning
within the context of a subclass. Some permission names may have no
actions associated with them. That is, you either have the permission
or you don't.
The most important method in this class is
implies
. This
checks whether if one has this permission, then the specified
permission is also implied. As a conceptual example, consider the
permissions "Read All Files" and "Read File foo". The permission
"Read All Files" implies that the caller has permission to read the
file foo.
Permission
's must be immutable - do not change their
state after creation.
void | checkGuard(Object obj) - This method implements the
Guard interface for this class.
|
abstract boolean | equals(Object obj) - Check to see if this object equals obj.
|
abstract String | getActions() - This method returns the list of actions for this
Permission
as a String .
|
String | getName() - Get the name of this
Permission .
|
abstract int | hashCode() - This method returns a hash code for this
Permission .
|
abstract boolean | implies(Permission perm) - This method tests whether this
Permission implies that the
specified Permission is also granted.
|
PermissionCollection | newPermissionCollection() - This method returns an empty
PermissionCollection object
that can store permissions of this type, or null if no
such collection is defined.
|
String | toString() - This method returns a
String representation of this
Permission object.
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
Permission
public Permission(String name)
Create an instance with the specified name.
name
- the permission name
checkGuard
public void checkGuard(Object obj)
This method implements the Guard
interface for this class.
It calls the checkPermission
method in
SecurityManager
with this Permission
as its
argument. This method returns silently if the security check succeeds
or throws an exception if it fails.
- checkGuard in interface Guard
obj
- the Object
being guarded - ignored by this class
equals
public abstract boolean equals(Object obj)
Check to see if this object equals obj. Use implies
, rather
than equals
, when making access control decisions.
- equals in interface Object
obj
- the object to compare to
getActions
public abstract String getActions()
This method returns the list of actions for this Permission
as a String
. The string should be in canonical order, for
example, both new FilePermission(f, "write,read")
and
new FilePermission(f, "read,write")
have the action list
"read,write".
- the action list for this
Permission
getName
public final String getName()
Get the name of this Permission
.
hashCode
public abstract int hashCode()
This method returns a hash code for this Permission
. It
must satisfy the contract of Object.hashCode
: it must be
the same for all objects that equals considers to be the same.
- hashCode in interface Object
implies
public abstract boolean implies(Permission perm)
This method tests whether this Permission
implies that the
specified Permission
is also granted.
perm
- the Permission
to test against
- true if perm is implied by this
newPermissionCollection
public PermissionCollection newPermissionCollection()
This method returns an empty PermissionCollection
object
that can store permissions of this type, or null
if no
such collection is defined. Subclasses must override this to provide
an appropriate collection when one is needed to accurately calculate
implies
.
- a new
PermissionCollection
toString
public String toString()
This method returns a String
representation of this
Permission
object. This is in the format:
'(' + getClass().getName() + ' ' + getName() + ' ' + getActions
+ ')'
.
- toString in interface Object
Permission.java -- The superclass for all permission objects
Copyright (C) 1998, 2001, 2002, 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.