public class

PolicyParser

extends Object
java.lang.Object
   ↳ sun.security.provider.PolicyParser

Class Overview

The policy for a Java runtime (specifying which permissions are available for code from various principals) is represented as a separate persistent configuration. The configuration may be stored as a flat ASCII file, as a serialized binary file of the Policy class, or as a database.

The Java runtime creates one global Policy object, which is used to represent the static policy configuration file. It is consulted by a ProtectionDomain when the protection domain initializes its set of permissions.

The Policy init method parses the policy configuration file, and then populates the Policy object. The Policy object is agnostic in that it is not involved in making policy decisions. It is merely the Java runtime representation of the persistent policy configuration file.

When a protection domain needs to initialize its set of permissions, it executes code such as the following to ask the global Policy object to populate a Permissions object with the appropriate permissions:

  policy = Policy.getPolicy();
  Permissions perms = policy.getPermissions(protectiondomain)
 

The protection domain contains CodeSource object, which encapsulates its codebase (URL) and public key attributes. It also contains the principals associated with the domain. The Policy object evaluates the global policy in light of who the principal is and what the code source is and returns an appropriate Permissions object.

Summary

Nested Classes
class PolicyParser.GrantEntry Each grant entry in the policy configuration file is represented by a GrantEntry object. 
class PolicyParser.ParsingException  
class PolicyParser.PermissionEntry Each permission entry in the policy configuration file is represented by a PermissionEntry object. 
class PolicyParser.PrincipalEntry Principal info (class and name) in a grant entry  
Constants
String REPLACE_NAME
Public Constructors
PolicyParser()
Creates a PolicyParser object.
PolicyParser(boolean expandProp)
Public Methods
void add(PolicyParser.GrantEntry ge)
String getKeyStoreProvider()
String getKeyStoreType()
String getKeyStoreUrl()
Returns the (possibly expanded) keystore location, or null if the expansion fails.
String getStorePassURL()
Enumeration<PolicyParser.GrantEntry> grantElements()
Enumerate all the entries in the global policy object.
static void main(String[] arg)
void read(Reader policy)
Reads a policy configuration into the Policy object using a Reader object.
boolean remove(PolicyParser.GrantEntry ge)
void replace(PolicyParser.GrantEntry origGe, PolicyParser.GrantEntry newGe)
void setKeyStoreProvider(String provider)
void setKeyStoreType(String type)
void setKeyStoreUrl(String url)
void setStorePassURL(String storePassURL)
void write(Writer policy)
write out the policy
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String REPLACE_NAME

Constant Value: "PolicyParser.REPLACE_NAME"

Public Constructors

public PolicyParser ()

Creates a PolicyParser object.

public PolicyParser (boolean expandProp)

Public Methods

public void add (PolicyParser.GrantEntry ge)

public String getKeyStoreProvider ()

public String getKeyStoreType ()

public String getKeyStoreUrl ()

Returns the (possibly expanded) keystore location, or null if the expansion fails.

public String getStorePassURL ()

public Enumeration<PolicyParser.GrantEntry> grantElements ()

Enumerate all the entries in the global policy object. This method is used by policy admin tools. The tools should use the Enumeration methods on the returned object to fetch the elements sequentially.

public static void main (String[] arg)

Throws
Exception

public void read (Reader policy)

Reads a policy configuration into the Policy object using a Reader object.

Parameters
policy the policy Reader object.
Throws
PolicyParser.ParsingException if the policy configuration contains a syntax error.
IOException if an error occurs while reading the policy configuration.

public boolean remove (PolicyParser.GrantEntry ge)

public void replace (PolicyParser.GrantEntry origGe, PolicyParser.GrantEntry newGe)

public void setKeyStoreProvider (String provider)

public void setKeyStoreType (String type)

public void setKeyStoreUrl (String url)

public void setStorePassURL (String storePassURL)

public void write (Writer policy)

write out the policy