java.security
Class BasicPermission

java.lang.Object
  extended by java.security.Permission
      extended by java.security.BasicPermission
All Implemented Interfaces:
Serializable, Guard
Direct Known Subclasses:
AudioPermission, AuthPermission, AWTPermission, DelegationPermission, LoggingPermission, ManagementPermission, MBeanServerPermission, MBeanTrustPermission, NetPermission, PropertyPermission, ReflectPermission, RuntimePermission, SecurityPermission, SerializablePermission, SQLPermission, SSLPermission

public abstract class BasicPermission
extends Permission
implements Serializable

This class implements a simple model for named permissions without an associated action list. That is, either the named permission is granted or it is not.

It also supports trailing wildcards to allow the easy granting of permissions in a hierarchical fashion. (For example, the name "org.gnu.*" might grant all permissions under the "org.gnu" permissions hierarchy). The only valid wildcard character is a '*' which matches anything. It must be the rightmost element in the permission name and must follow a '.' or else the Permission name must consist of only a '*'. Any other occurrence of a '*' is not valid.

This class ignores the action list. Subclasses can choose to implement actions on top of this class if desired.

Since:
1.1
See Also:
Permission, Permissions, PermissionCollection, RuntimePermission, SecurityPermission, PropertyPermission, AWTPermission, NetPermission, SecurityManager, Serialized Form

Constructor Summary
BasicPermission(String name)
          Create a new instance with the specified permission name.
BasicPermission(String name, String actions)
          Create a new instance with the specified permission name.
 
Method Summary
 boolean equals(Object obj)
          This method tests to see if this object is equal to the specified Object.
 String getActions()
          This method returns a list of the actions associated with this permission.
 int hashCode()
          This method returns a hash code for this permission object.
 boolean implies(Permission perm)
          This method tests to see if the specified permission is implied by this permission.
 PermissionCollection newPermissionCollection()
          This method returns an instance of PermissionCollection suitable for storing BasicPermission objects.
 
Methods inherited from class java.security.Permission
checkGuard, getName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicPermission

public BasicPermission(String name)
Create a new instance with the specified permission name. If the name is empty an exception is thrown.

Parameters:
name - the name of this permission
Throws:
NullPointerException - if name is null
IllegalArgumentException - if name is invalid

BasicPermission

public BasicPermission(String name,
                       String actions)
Create a new instance with the specified permission name. If the name is empty, or contains an illegal wildcard character, an exception is thrown. The actions parameter is ignored.

Parameters:
name - the name of this permission
actions - ignored
Throws:
NullPointerException - if name is null
IllegalArgumentException - if name is invalid
Method Detail

implies

public boolean implies(Permission perm)
This method tests to see if the specified permission is implied by this permission. This will be true if the following conditions are met:

Specified by:
implies in class Permission
Parameters:
perm - the Permission object to test against
Returns:
true if the specified permission is implied

equals

public boolean equals(Object obj)
This method tests to see if this object is equal to the specified Object. This will be true if and only if the specified object meets the following conditions:

Specified by:
equals in class Permission
Parameters:
obj - the Object to test for equality
Returns:
true if obj is semantically equal to this
See Also:
Object.hashCode()

hashCode

public int hashCode()
This method returns a hash code for this permission object. The hash code returned is the value returned by calling the hashCode method on the String that is the name of this permission.

Specified by:
hashCode in class Permission
Returns:
a hash value for this object
See Also:
Object.equals(Object), System.identityHashCode(Object)

getActions

public String getActions()
This method returns a list of the actions associated with this permission. This method always returns the empty string ("") since this class ignores actions.

Specified by:
getActions in class Permission
Returns:
the action list

newPermissionCollection

public PermissionCollection newPermissionCollection()
This method returns an instance of PermissionCollection suitable for storing BasicPermission objects. The collection returned can only store objects of the same type as this. Subclasses which use actions must override this method; but a class with no actions will work fine with this.

Overrides:
newPermissionCollection in class Permission
Returns:
a new empty PermissionCollection object