java.security
Class ProtectionDomain

java.lang.Object
  extended by java.security.ProtectionDomain

public class ProtectionDomain
extends Object

This class represents a group of classes, along with their granted permissions. The classes are identified by a CodeSource. Thus, any class loaded from the specified CodeSource is treated as part of this domain. The set of permissions is represented by an instance of PermissionCollection.

Every class in the system will belong to one and only one ProtectionDomain.


Constructor Summary
ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
          Initializes a new instance of ProtectionDomain representing the specified CodeSource and set of permissions.
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
          This method initializes a new instance of ProtectionDomain given its CodeSource, granted permissions, associated ClassLoader and Principals.
 
Method Summary
 ClassLoader getClassLoader()
          Returns the ClassLoader of this domain.
 CodeSource getCodeSource()
          Returns the CodeSource of this domain.
 PermissionCollection getPermissions()
          Returns the PermissionCollection of this domain.
 Principal[] getPrincipals()
          Returns a clone of the Principals of this domain.
 boolean implies(Permission permission)
          Tests whether or not the specified Permission is implied by the set of permissions granted to this domain.
 String toString()
          Returns a string representation of this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions)
Initializes a new instance of ProtectionDomain representing the specified CodeSource and set of permissions. No permissions can be added later to the PermissionCollection and this contructor will call the setReadOnly method on the specified set of permissions.

Parameters:
codesource - The CodeSource for this domain.
permissions - The set of permissions for this domain.
See Also:
PermissionCollection.setReadOnly()

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions,
                        ClassLoader classloader,
                        Principal[] principals)
This method initializes a new instance of ProtectionDomain given its CodeSource, granted permissions, associated ClassLoader and Principals.

Similar to the previous constructor, if the designated set of permissions is not null, the setReadOnly method is called on that set.

Parameters:
codesource - The CodeSource for this domain.
permissions - The permission set for this domain.
classloader - the ClassLoader associated with this domain.
principals - the array of Principals associated with this domain.
Since:
1.4
See Also:
PermissionCollection.setReadOnly()
Method Detail

getCodeSource

public final CodeSource getCodeSource()
Returns the CodeSource of this domain.

Returns:
the CodeSource of this domain.
Since:
1.2

getClassLoader

public final ClassLoader getClassLoader()
Returns the ClassLoader of this domain.

Returns:
the ClassLoader of this domain.
Since:
1.4

getPrincipals

public final Principal[] getPrincipals()
Returns a clone of the Principals of this domain.

Returns:
a clone of the Principals of this domain.
Since:
1.4

getPermissions

public final PermissionCollection getPermissions()
Returns the PermissionCollection of this domain.

Returns:
The PermissionCollection of this domain.

implies

public boolean implies(Permission permission)
Tests whether or not the specified Permission is implied by the set of permissions granted to this domain.

Parameters:
permission - the Permission to test.
Returns:
true if the specified Permission is implied for this domain, false otherwise.

toString

public String toString()
Returns a string representation of this object. It will include the CodeSource and set of permissions associated with this domain.

Overrides:
toString in class Object
Returns:
A string representation of this object.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)