org.objectweb.easybeans.security.jacc.provider
Class JPolicyConfigurationFactory

java.lang.Object
  extended by javax.security.jacc.PolicyConfigurationFactory
      extended by org.objectweb.easybeans.security.jacc.provider.JPolicyConfigurationFactory

public class JPolicyConfigurationFactory
extends javax.security.jacc.PolicyConfigurationFactory

Defines the PolicyConfigurationFactory implementation class of JACC.

Author:
Florent Benoit

Field Summary
private static JLog logger
          Logger.
private  java.util.Map<java.lang.String,javax.security.jacc.PolicyConfiguration> policyConfigurations
          List of PolicyConfiguration objects.
 
Constructor Summary
JPolicyConfigurationFactory()
          Constructor.
 
Method Summary
private  void checkSetPolicy()
          Method which check setPolicy access Section 3.3.
getPolicyConfiguration and inService must throw a SecurityException when called by an AccessControlContext that has not been granted the "setPolicy" SecurityPermission
private  javax.security.jacc.PolicyConfiguration getInternalPolicyConfiguration(java.lang.String contextID)
          This method is used to check if there the PolicyConfiguration is in cache and return it if it is in the cache.
 javax.security.jacc.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
 

Field Detail

policyConfigurations

private java.util.Map<java.lang.String,javax.security.jacc.PolicyConfiguration> policyConfigurations
List of PolicyConfiguration objects. Manage all configurations available


logger

private static JLog logger
Logger.

Constructor Detail

JPolicyConfigurationFactory

public JPolicyConfigurationFactory()
Constructor.

Method Detail

getPolicyConfiguration

public javax.security.jacc.PolicyConfiguration getPolicyConfiguration(java.lang.String contextID,
                                                                      boolean remove)
                                                               throws javax.security.jacc.PolicyContextException,
                                                                      java.lang.SecurityException
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.

Specified by:
getPolicyConfiguration in class javax.security.jacc.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.
javax.security.jacc.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.

getInternalPolicyConfiguration

private javax.security.jacc.PolicyConfiguration getInternalPolicyConfiguration(java.lang.String contextID)
This method is used to check if there the PolicyConfiguration is in cache and return it if it is in the cache.

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.
Returns:
an Object that implements the PolicyConfiguration Interface matched to the Policy provider and corresponding to the identified policy context.

inService

public boolean inService(java.lang.String contextID)
                  throws javax.security.jacc.PolicyContextException,
                         java.lang.SecurityException
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 javax.security.jacc.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.
javax.security.jacc.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.

checkSetPolicy

private void checkSetPolicy()
                     throws java.lang.SecurityException
Method which check setPolicy access Section 3.3.
getPolicyConfiguration and inService must throw a SecurityException when called by an AccessControlContext that has not been granted the "setPolicy" SecurityPermission

Throws:
java.lang.SecurityException - when called by an AccessControlContext that has not been granted the "setPolicy" SecurityPermission.