Class Permissions
- All Implemented Interfaces:
Serializable
Permission objects,
organized into PermissionCollection objects. For example, if any
java.io.FilePermission objects are added to an instance of
this class, they are all stored in a single PermissionCollection.
It is the PermissionCollection returned by a call to
the newPermissionCollection method in the FilePermission
class. Similarly, any java.lang.RuntimePermission objects are
stored in the PermissionCollection returned by a call to the
newPermissionCollection method in the RuntimePermission
class. Thus, this class represents a collection of
PermissionCollection objects.
When the add method is called to add a Permission, the
Permission is stored in the appropriate PermissionCollection.
If no such collection exists yet, the Permission object's class is
determined and the newPermissionCollection method is called on that
class to create the PermissionCollection and add it to the
Permissions object. If newPermissionCollection returns
null, then a default PermissionCollection that uses a
hashtable will be created and used. Each hashtable entry stores a
Permission object as both the key and the value.
Enumerations returned via the elements method are
not fail-fast. Modifications to a collection should not be
performed while enumerating over that collection.
- Since:
- 1.2
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a newPermissionsobject containing noPermissionCollectionobjects. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(Permission permission) Adds aPermissionobject to thePermissionCollectionfor the class the permission belongs to.elements()Returns an enumeration of all thePermissionobjects in all thePermissionCollectionobjects in thisPermissionsobject.booleanimplies(Permission permission) Checks to see if this object'sPermissionCollectionfor permissions of the specified permission's class implies the permissions expressed in the permission object.Methods declared in class java.security.PermissionCollection
elementsAsStream, isReadOnly, setReadOnly, toString
-
Constructor Details
-
Permissions
public Permissions()Creates a newPermissionsobject containing noPermissionCollectionobjects.
-
-
Method Details
-
add
Adds aPermissionobject to thePermissionCollectionfor the class the permission belongs to. For example, if permission is aFilePermission, it is added to theFilePermissionCollectionstored in thisPermissionsobject. This method creates a newPermissionCollectionobject (and adds the permission to it) if an appropriate collection does not yet exist.- Specified by:
addin classPermissionCollection- Parameters:
permission- thePermissionobject to add.- Throws:
SecurityException- if thisPermissionsobject is marked as readonly.- See Also:
-
implies
Checks to see if this object'sPermissionCollectionfor permissions of the specified permission's class implies the permissions expressed in the permission object. Returnstrueif the combination of permissions in the appropriatePermissionCollection(e.g., aFilePermissionCollectionfor aFilePermission) together imply the specified permission.For example, suppose there is a
FilePermissionCollectionin thisPermissionsobject, and it contains oneFilePermissionthat specifies "read" access for all files in all subdirectories of the "/tmp" directory, and anotherFilePermissionthat specifies "write" access for all files in the "/tmp/scratch/foo" directory. Then if theimpliesmethod is called with a permission specifying both "read" and "write" access to files in the "/tmp/scratch/foo" directory,trueis returned.Additionally, if this
PermissionCollectioncontains theAllPermission, this method will always returntrue.- Specified by:
impliesin classPermissionCollection- Parameters:
permission- thePermissionobject to check.- Returns:
trueif "permission" is implied by the permissions in thePermissionCollectionit belongs to,falseif not.
-
elements
Returns an enumeration of all thePermissionobjects in all thePermissionCollectionobjects in thisPermissionsobject.- Specified by:
elementsin classPermissionCollection- Returns:
- an enumeration of all the
Permissionobjects. - See Also:
-