javax.security.jacc
Class EJBMethodPermission
java.lang.Object
java.security.Permission
javax.security.jacc.EJBMethodPermission
- All Implemented Interfaces:
- java.security.Guard, java.io.Serializable
- public final class EJBMethodPermission
- extends java.security.Permission
- implements java.io.Serializable
A security permission for ejb-method permissions. The name of an
EJBMethodPermission contains the value of the ejb-name element in the
application's deployment descriptor that identifies the target EJB.
The actions of an EJBMethodPermission identifies the methods of the EJB to
which the permission applies.
Implementations of this class MAY implement newPermissionCollection or
inherit its implementation from the super class.
- See Also:
- Serialized Form
Constructor Summary |
EJBMethodPermission(java.lang.String name,
java.lang.String actions)
Creates a new EJBMethodPermission with the specified name and actions. |
EJBMethodPermission(java.lang.String ejbName,
java.lang.String methodInterface,
java.lang.reflect.Method method)
Creates a new EJBMethodPermission with name corresponding to the EJBName
and actions composed from methodInterface, and the Method object. |
EJBMethodPermission(java.lang.String ejbName,
java.lang.String methodName,
java.lang.String methodInterface,
java.lang.String[] methodParams)
Creates a new EJBMethodPermission with name corresponding to the EJBName
and actions composed from methodName, methodInterface, and methodParams. |
Method Summary |
boolean |
equals(java.lang.Object p)
Compare two EJBMethodPermissions. |
java.lang.String |
getActions()
Returns a String containing a canonical representation of the actions of
this EJBMethodPermission. |
int |
hashCode()
Calculates the hash code as the hash of the methodName,
methodInterface and methodSig for each that is non-null. |
boolean |
implies(java.security.Permission p)
Determines if the argument Permission is "implied by" this
EJBMethodPermission. |
java.lang.String |
toString()
Method string represented by this permission |
Methods inherited from class java.security.Permission |
checkGuard, getName, newPermissionCollection |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
EJBMethodPermission
public EJBMethodPermission(java.lang.String name,
java.lang.String actions)
- Creates a new EJBMethodPermission with the specified name and actions.
The name contains the value of the ejb-name element corresponding to an EJB
in the application's deployment descriptor.
The actions contains a methodSpec. The syntax of the actions parameter is
defined as follows:
methodNameSpec ::= methodName | emptyString
methodInterfaceName ::= String
methodInterfaceSpec ::= methodInterfaceName | emptyString
typeName ::= typeName | typeName []
methodParams ::= typeName | methodParams comma typeName
methodParamsSpec ::= emptyString | methodParams
methodSpec ::= null |
methodNameSpec |
methodNameSpec comma methodInterfaceName |
methodNameSpec comma methodInterfaceSpec comma methodParamsSpec
A MethodInterfaceName is a non-empty String and should contain a method-intf
value as defined for use in EJB deployment descriptors. An implementation
must be flexible such that it supports additional interface names especially
if they are standardized by the EJB Specification. The EJB Specification
currently defines the following method-intf values:
{ "Home", "LocalHome", "Remote", "Local", "ServiceEndpoint" }
A null or empty string methodSpec indicates that the permission applies to
all methods of the EJB. A methodSpec with a methodNameSpec of the empty
string matches all methods of the EJB that match the methodInterface and
methodParams elements of the methodSpec.
A methodSpec with a methodInterfaceSpec of the empty string matches all
methods of the EJB that match the methodNameSpec and methodParamsSpec
elements of the methodSpec.
A methodSpec without a methodParamsSpec matches all methods of the EJB that
match the methodNameSpec and methodInterface elements of the methodSpec.
The order of the typeNames in methodParams array must match the order of
occurence of the corresponding parameters in the method signature of the
target method(s). Each typeName in the methodParams must contain the
canonical form of the corresponding parameter's typeName as defined by the
getActions method. A methodSpec with an empty methodParamsSpec matches all
0 argument methods of the EJB that match the methodNameSpec and
methodInterfaceSpec elements of the methodSpec.
- Parameters:
name
- - the ejb-name to which the permission pertains.actions
- - identifies the methods of the EJB to which the permission
pertains.
EJBMethodPermission
public EJBMethodPermission(java.lang.String ejbName,
java.lang.String methodInterface,
java.lang.reflect.Method method)
- Creates a new EJBMethodPermission with name corresponding to the EJBName
and actions composed from methodInterface, and the Method object.
A container uses this constructor prior to checking if a caller has
permission to call the method of an EJB.
- Parameters:
ejbName
- - the ejb-name of the target EJBmethodInterface
- - A string that may be used to specify the EJB
interface to which the permission pertains. A value of null or "",
indicates that the permission pertains to all methods that match the other
parameters of the permission specification without consideration of the
interface they occur on.method
- - an instance of the Java.lang.reflect.Method class
corresponding to the method that the container is trying to determine
whether the caller has permission to access. This value must not be null.
EJBMethodPermission
public EJBMethodPermission(java.lang.String ejbName,
java.lang.String methodName,
java.lang.String methodInterface,
java.lang.String[] methodParams)
- Creates a new EJBMethodPermission with name corresponding to the EJBName
and actions composed from methodName, methodInterface, and methodParams.
- Parameters:
ejbName
- - the ejb-name of the target EJBmethodName
- - A string that may be used to indicate the method of the
EJB to which the permission pertains. A value of null or "" indicates that
the permission pertains to all methods that match the other parameters of
the permission specification without consideration of method name.methodInterface
- - A string that may be used to specify the EJB
interface to which the permission pertains. A value of null or "",
indicates that the permission pertains to all methods that match the
other parameters of the permission specification without consideration of
the interface they occur on.methodParams
- - An array of strings that may be used to specify
(by typeNames) the parameter signature of the target methods. The order of
the typeNames in methodParams array must match the order of occurence of
the corresponding parameters in the method signature of the target
method(s). Each typeName in the methodParams array must contain the
canonical form of the corresponding parameter's typeName as defined by the
getActions method. An empty methodParams array is used to represent a
method signature with no arguments. A value of null indicates that the
permission pertains to all methods that match the other parameters of the
permission specification without consideration of method signature.
equals
public boolean equals(java.lang.Object p)
- Compare two EJBMethodPermissions.
- Parameters:
p
- the EJBMethodPermission instance to compare against
- Returns:
- true if p equates to this permission, false otherwise
hashCode
public int hashCode()
- Calculates the hash code as the hash of the methodName,
methodInterface and methodSig for each that is non-null.
- Returns:
- has the method represented.
getActions
public java.lang.String getActions()
- Returns a String containing a canonical representation of the actions of
this EJBMethodPermission. The Canonical form of the actions of an
EJBMethodPermission is described by the following syntax description.
methodNameSpec ::= methodName | emptyString
methodInterfaceName ::= String
methodInterfaceSpec ::= methodInterfaceName | emptyString
typeName ::= typeName | typeName []
methodParams ::= typeName | methodParams comma typeName
methodParamsSpec ::= emptyString | methodParams
methodSpec ::= null |
methodName |
methodNameSpec comma methodInterfaceName |
methodNameSpec comma methodInterfaceSpec comma methodParamsSpec
The canonical form of each typeName must begin with the fully qualified Java
name of the corresponding parameter's type. The canonical form of a typeName
for an array parameter is the fully qualified Java name of the array's
component type followed by as many instances of the string "[]" as there are
dimensions to the array. No additional characters (e.g. blanks) may occur in
the canonical form.
A MethodInterfaceName is a non-empty String and should contain a method-intf
value as defined for use in EJB deployment descriptors. An implementation
must be flexible such p it supports additional interface names especially
if they are standardized by the EJB Specification. The EJB Specification
currently defines the following method-intf values:
{ "Home", "LocalHome", "Remote", "Local", "ServiceEndpoint" }
- Returns:
- the canonicalized actions of this EJBMethodPermission
implies
public boolean implies(java.security.Permission p)
- Determines if the argument Permission is "implied by" this
EJBMethodPermission. For this to be the case the following must apply:
The argument must be an instanceof EJBMethodPermission
with name equivalent to p of this EJBMethodPermission, and
the methods to which the argument permission applies (as defined in its actions)
must be a subset of the methods to which this EJBMethodPermission applies
(as defined in its actions).
The argument permission applies to a subset of the methods to which this
permission applies if all of the following conditions are met:
- the method name component of the methodNameSpec of this permission is null,
the empty string, or equivalent to the method name of the argument permission
- the method interface component of the methodNameSpec of this permission
is null, the empty string, or equivalent to the method interface of the
argument permission
- the method parameter list component of the methodNameSpec of this
permission is null, the empty string, or equivalent to the method
parameter list of the argument permission.
The name and actions comparisons described above are case sensitive.
- Parameters:
p
- the EJBMethodPermission checked to see if it this.
- Returns:
- true if the specified permission is implied by this object, false if not
toString
public java.lang.String toString()
- Method string represented by this permission
- Returns:
- [methodInterface :] methodName (params)