java.security

Class ProtectionDomain

public class ProtectionDomain extends Object

This class represents a group of classes, along with their granted permissions. The classes are identified by a {@link CodeSource}. Thus, any class loaded from the specified {@link CodeSource} is treated as part of this domain. The set of permissions is represented by an instance of {@link 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 {@link CodeSource} and set of permissions.
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
This method initializes a new instance of ProtectionDomain given its {@link CodeSource}, granted permissions, associated {@link ClassLoader} and {@link Principal}s.
Method Summary
ClassLoadergetClassLoader()
Returns the {@link ClassLoader} of this domain.
CodeSourcegetCodeSource()
Returns the {@link CodeSource} of this domain.
PermissionCollectiongetPermissions()
Returns the {@link PermissionCollection} of this domain.
Principal[]getPrincipals()
Returns a clone of the {@link Principal}s of this domain.
booleanimplies(Permission permission)
Tests whether or not the specified {@link Permission} is implied by the set of permissions granted to this domain.
StringtoString()
Returns a string representation of this object.

Constructor Detail

ProtectionDomain

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

Parameters: codesource The {@link CodeSource} for this domain. permissions The set of permissions for this domain.

See Also: setReadOnly

ProtectionDomain

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

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 {@link CodeSource} for this domain. permissions The permission set for this domain. classloader the ClassLoader associated with this domain. principals the array of {@link Principal}s associated with this domain.

Since: 1.4

See Also: setReadOnly

Method Detail

getClassLoader

public final ClassLoader getClassLoader()
Returns the {@link ClassLoader} of this domain.

Returns: the {@link ClassLoader} of this domain.

Since: 1.4

getCodeSource

public final CodeSource getCodeSource()
Returns the {@link CodeSource} of this domain.

Returns: the {@link CodeSource} of this domain.

Since: 1.2

getPermissions

public final PermissionCollection getPermissions()
Returns the {@link PermissionCollection} of this domain.

Returns: The {@link PermissionCollection} of this domain.

getPrincipals

public final Principal[] getPrincipals()
Returns a clone of the {@link Principal}s of this domain.

Returns: a clone of the {@link Principal}s of this domain.

Since: 1.4

implies

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

Parameters: permission the {@link Permission} to test.

Returns: true if the specified {@link Permission} is implied for this domain, false otherwise.

toString

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

Returns: A string representation of this object.