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 PermissionCollection
elementsAsStream, isReadOnly, setReadOnly, toStringModifier and TypeMethodDescriptionReturns a stream of all the Permission objects in the collection.booleanReturnstrueif thisPermissionCollectionobject is marked as readonly.voidMarks thisPermissionCollectionobject as "readonly".toString()Returns a string describing thisPermissionCollectionobject, providing information about all the permissions it contains.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
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:
-