|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.security.Permission
net.jini.security.AccessPermission
public class AccessPermission
Represents permission to call a method. An instance of this class contains a name (also referred to as a "target name") but no actions list; you either have the named permission or you don't. The target name can be any of the following forms:
* Identifier *Suffix Identifier* QualifiedIdentifier.* QualifiedIdentifier.Identifier QualifiedIdentifier.*Suffix QualifiedIdentifier.Identifier*where QualifiedIdentifier and Identifier are as defined in The Java(TM) Language Specification except that whitespace is not permitted, and Suffix is defined to be one or more characters that may be part of an Identifier. These forms are defined to match fully qualified names of the form QualifiedIdentifier.Identifier as follows:
Target Name | QualifiedIdentifier Match | Identifier Match |
---|---|---|
* | any | any |
method | any | method |
*suffix | any | any ending with suffix |
prefix* | any | any starting with prefix |
type.* | type | any |
type.method | type | method |
type.*suffix | type | any ending with suffix |
type.prefix* | type | any starting with prefix |
This class, and simple subclasses of it, can be used (for example) with
BasicInvocationDispatcher
. It is
recommended that a simple subclass of this class be defined for each
remote object implementation class that can be exported using an
Exporter
, to allow separation of
grants in policy files.
Field Summary | |
---|---|
private String |
iface
The interface name, or null if wildcarded. |
private String |
method
The name of the method, with prefix or suffix '*' permitted, or null if wildcarded. |
private static long |
serialVersionUID
|
Constructor Summary | |
---|---|
AccessPermission(String name)
Creates an instance with the specified target name. |
Method Summary | |
---|---|
boolean |
equals(Object obj)
Returns true if the specified object is an instance
of the same class as this permission and has the same target name
as this permission; returns false otherwise. |
String |
getActions()
Returns the empty string. |
int |
hashCode()
Returns a hash code value for this object. |
boolean |
implies(Permission perm)
Returns true if every fully qualified name that
matches the specified permission's name also matches this
permission's name; returns false otherwise. |
private void |
init(String name)
Parses the target name and initializes the transient fields. |
private void |
readObject(ObjectInputStream s)
Verifies the syntax of the target name and recreates any transient state. |
private static boolean |
validClass(String name)
Returns true if the name is a syntactically valid fully qualified class name (no whitespace permitted), and returns false otherwise. |
private static boolean |
validMethod(String name)
Returns true if the name is a syntactically valid method name, or if the name is a syntactically valid method name with a '*' appended or could be constructed from some syntactically valid method name containing more than two characters by replacing the first character of that name with '*', and returns false otherwise. |
Methods inherited from class java.security.Permission |
---|
checkGuard, getName, newPermissionCollection, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
private transient String iface
private transient String method
Constructor Detail |
---|
public AccessPermission(String name)
name
- the target name
NullPointerException
- if the target name is null
IllegalArgumentException
- if the target name does not match
the syntax specified in the comments at the beginning of this classMethod Detail |
---|
private void init(String name)
private static boolean validClass(String name)
private static boolean validMethod(String name)
public boolean implies(Permission perm)
true
if every fully qualified name that
matches the specified permission's name also matches this
permission's name; returns false
otherwise.
implies
in class Permission
perm
- the permission to check
true
if every fully qualified name that
matches the specified permission's name also matches this
permission's name; false
otherwisepublic boolean equals(Object obj)
true
if the specified object is an instance
of the same class as this permission and has the same target name
as this permission; returns false
otherwise.
equals
in class Permission
public int hashCode()
hashCode
in class Permission
public String getActions()
getActions
in class Permission
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
InvalidObjectException
- if the target name is null
,
or if the target name does not match the syntax specified in the
comments at the beginning of this class
IOException
ClassNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |