public abstract class PermissionCollection extends Object implements Serializable
Some care must be taken in storing permissions. First, a collection of
the appropriate type must be created. This is done by calling the
newPermissionCollection
method on an object of the
permission class you wish to add to the collection. If this method
returns null
, any type of PermissionCollection
can be used to store permissions of that type. However, if a
PermissionCollection
collection object is returned, that
type must be used.
A PermissionCollection
returned by the
newPermissionCollection
method in a subclass of
Permission
is a homogeneous collection. It only will
hold permissions of one specified type - instances of the class that
created it. Not all PermissionCollection
subclasses
have to hold permissions of only one type however. For example,
the Permissions
class holds permissions of many types.
Since the newPermissionCollection
in Permission
itself returns null
, by default a permission can be stored
in any type of collection unless it overrides that method to create its
own collection type.
Permission
,
Permissions
,
Serialized FormConstructor and Description |
---|
PermissionCollection()
Create a new collection.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
add(Permission perm)
This method adds a new
Permission object to the collection. |
abstract Enumeration<Permission> |
elements()
This method returns an
Enumeration of all the objects in
this collection. |
abstract boolean |
implies(Permission perm)
This method tests whether the specified
Permission object is
implied by this collection of Permission objects. |
boolean |
isReadOnly()
This method tests whether or not this
PermissionCollection
object is read only. |
void |
setReadOnly()
This method sets this
PermissionCollection object to be
read only. |
String |
toString()
This method returns a
String representation of this
collection. |
public PermissionCollection()
public abstract void add(Permission perm)
Permission
object to the collection.perm
- the Permission
to addSecurityException
- if the collection is marked read onlyIllegalArgumentException
- if perm is of the wrong typepublic abstract boolean implies(Permission perm)
Permission
object is
implied by this collection of Permission
objects.perm
- the Permission
object to testpublic abstract Enumeration<Permission> elements()
Enumeration
of all the objects in
this collection.Enumeration
of this collection's objectspublic void setReadOnly()
PermissionCollection
object to be
read only. No further permissions can be added to it after calling this
method.public boolean isReadOnly()
PermissionCollection
object is read only.public String toString()
String
representation of this
collection. It is formed by:
super.toString()" (\n" // enumerate all permissions, one per line ")\n"
toString
in class Object
String
representing this objectObject.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)