com.sun.enterprise.security.jacc.provider
Class SimplePolicyConfigurationFactory

java.lang.Object
  extended by javax.security.jacc.PolicyConfigurationFactory
      extended by com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory

public class SimplePolicyConfigurationFactory
extends PolicyConfigurationFactory

Abstract factory and finder class for obtaining the instance of the class that implements the PolicyConfigurationFactory of a provider. The factory will be used to instantiate PolicyConfiguration objects that will be used by the deployment tools of the container to create and manage policy contexts within the Policy Provider.

Implementation classes must have a public no argument constructor that may be used to create an operational instance of the factory implementation class.

Author:
monzillo
See Also:
PolicyConfiguration, PolicyContextException

Constructor Summary
SimplePolicyConfigurationFactory()
          Creates a new instance of SimplePolicyConfigurationFactory
 
Method Summary
 PolicyConfiguration getPolicyConfiguration(java.lang.String contextID, boolean remove)
          This method is used to obtain an instance of the provider specific class that implements the PolicyConfiguration interface that corresponds to the identified policy context within the provider.
 boolean inService(java.lang.String contextID)
          This method determines if the identified policy context exists with state "inService" in the Policy provider associated with the factory.
 
Methods inherited from class javax.security.jacc.PolicyConfigurationFactory
getPolicyConfigurationFactory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimplePolicyConfigurationFactory

public SimplePolicyConfigurationFactory()
Creates a new instance of SimplePolicyConfigurationFactory

Method Detail

getPolicyConfiguration

public PolicyConfiguration getPolicyConfiguration(java.lang.String contextID,
                                                  boolean remove)
                                           throws PolicyContextException
This method is used to obtain an instance of the provider specific class that implements the PolicyConfiguration interface that corresponds to the identified policy context within the provider. The methods of the PolicyConfiguration interface are used to define the policy statements of the identified policy context.

If at the time of the call, the identified policy context does not exist in the provider, then the policy context will be created in the provider and the Object that implements the context's PolicyConfiguration Interface will be returned. If the state of the identified context is "deleted" or "inService" it will be transitioned to the "open" state as a result of the call. The states in the lifecycle of a policy context are defined by the PolicyConfiguration interface.

For a given value of policy context identifier, this method must always return the same instance of PolicyConfiguration and there must be at most one actual instance of a PolicyConfiguration with a given policy context identifier (during a process context).

To preserve the invariant that there be at most one PolicyConfiguration object for a given policy context, it may be necessary for this method to be thread safe.

Specified by:
getPolicyConfiguration in class PolicyConfigurationFactory
Parameters:
contextID - A String identifying the policy context whose PolicyConfiguration interface is to be returned. The value passed to this parameter must not be null.

remove - A boolean value that establishes whether or not the policy statements of an existing policy context are to be removed before its PolicyConfiguration object is returned. If the value passed to this parameter is true, the policy statements of an existing policy context will be removed. If the value is false, they will not be removed.
Returns:
an Object that implements the PolicyConfiguration Interface matched to the Policy provider and corresponding to the identified policy context.
Throws:
java.lang.SecurityException - when called by an AccessControlContext that has not been granted the "setPolicy" SecurityPermission.
PolicyContextException - if the implementation throws a checked exception that has not been accounted for by the getPolicyConfiguration method signature. The exception thrown by the implementation class will be encapsulated (during construction) in the thrown PolicyContextException.

inService

public boolean inService(java.lang.String contextID)
                  throws PolicyContextException
This method determines if the identified policy context exists with state "inService" in the Policy provider associated with the factory.

Specified by:
inService in class PolicyConfigurationFactory
Parameters:
contextID - A string identifying a policy context
Returns:
true if the identified policy context exists within the provider and its state is "inService", false otherwise.
Throws:
java.lang.SecurityException - when called by an AccessControlContext that has not been granted the "setPolicy" SecurityPermission.
PolicyContextException - if the implementation throws a checked exception that has not been accounted for by the inService method signature. The exception thrown by the implementation class will be encapsulated (during construction) in the thrown PolicyContextException.


Copyright © 2012 GlassFish Community. All Rights Reserved.