public class ServicePermission extends Permission
ServiceLoader.getService(Class) or
ServiceRegistry.register(Class, Object) or ServiceRegistry.unregister(Class, Object).| Modifier and Type | Field and Description |
|---|---|
static String |
GET_ACTION
Action associated with
ServiceLoader.getService(Class). |
static String |
REGISTER_ACTION
Action associated with
ServiceRegistry.register(Class, Object). |
static String |
UNREGISTER_ACTION
Action associated with
ServiceRegistry.unregister(Class, Object). |
| Constructor and Description |
|---|
ServicePermission(String parentName,
Class<?> service,
String action)
Creates a permission for the given service.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj)
Checks two Permission objects for equality.
|
String |
getActions()
Returns the actions as a String.
|
Class<?> |
getService()
Gets the service handled by this permission.
|
int |
hashCode()
Returns the hash code value for this Permission object.
|
boolean |
implies(Permission permission)
Checks if the specified permission's actions are "implied by" this object's actions.
|
getName, toStringpublic static final String GET_ACTION
ServiceLoader.getService(Class).public static final String REGISTER_ACTION
ServiceRegistry.register(Class, Object).public static final String UNREGISTER_ACTION
ServiceRegistry.unregister(Class, Object).public ServicePermission(String parentName, Class<?> service, String action)
The action can be one of GET_ACTION, REGISTER_ACTION or UNREGISTER_ACTION.
parentName - the name of the service loader or service registry.service - the service.action - the action realized with the service.public boolean equals(@Nullable Object obj)
Permission
Do not use the equals method for making access control decisions; use the
implies method.
equals in class Permissionobj - the object we are testing for equality with this object.Object.hashCode(),
HashMappublic String getActions()
Permissionperm1 = new FilePermission(p1, "read,write"); perm2 = new FilePermission(p2, "write,read");both return "read,write" when the
getActions method is invoked.getActions in class Permissionpublic Class<?> getService()
public int hashCode()
Permission
The required hashCode behavior for Permission Objects is the following:
hashCode method must consistently return the same integer.
This integer need not remain consistent from one execution of an application to another execution
of the same application.
equals method, then calling
the hashCode method on each of the two Permission objects must produce the same
integer result.
hashCode in class PermissionObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)public boolean implies(@Nullable Permission permission)
PermissionThis must be implemented by subclasses of Permission, as they are the only ones that can impose semantics on a Permission object.
implies in class Permissionpermission - the permission to check against.