Class CloseablePolicyProvider.Factory<CONF_T extends org.ow2.authzforce.xmlns.pdp.ext.AbstractPolicyProvider>

java.lang.Object
org.ow2.authzforce.core.pdp.api.JaxbBoundPdpExtension<CONF_T>
org.ow2.authzforce.core.pdp.api.policy.CloseablePolicyProvider.Factory<CONF_T>
Type Parameters:
CONF_T - type of configuration (XML-schema-derived) of the module (initialization parameter)
All Implemented Interfaces:
PdpExtension
Enclosing interface:
CloseablePolicyProvider<PE extends TopLevelPolicyElementEvaluator>

public abstract static class CloseablePolicyProvider.Factory<CONF_T extends org.ow2.authzforce.xmlns.pdp.ext.AbstractPolicyProvider> extends JaxbBoundPdpExtension<CONF_T>
PolicyProvider factory
  • Constructor Details

    • Factory

      public Factory()
  • Method Details

    • getInstance

      public abstract CloseablePolicyProvider<?> getInstance(CONF_T conf, XmlUtils.XmlnsFilteringParserFactory xacmlParserFactory, int maxPolicySetRefDepth, ExpressionFactory expressionFactory, CombiningAlgRegistry combiningAlgRegistry, EnvironmentProperties environmentProperties, Optional<PolicyProvider<?>> otherHelpingPolicyProvider) throws IllegalArgumentException
      Create PolicyProvider instance
      Parameters:
      conf - configuration
      xacmlParserFactory - XACML parser factory for parsing any XACML Policy(Set)
      maxPolicySetRefDepth - maximum allowed depth of PolicySet reference chain (via PolicySetIdReference): PolicySet1 -> PolicySet2 -> ...; to be enforced by any instance created by this factory. A strictly negative value means no limit
      expressionFactory - Expression factory for parsing XACML Expressions in the policies
      combiningAlgRegistry - Combining algorithm registry for getting implementations of algorithms used in the policies
      environmentProperties - global PDP configuration environment properties
      otherHelpingPolicyProvider - other optional policy provider that helps the new instance resolve policy references that it cannot resolve on its own. It is meant to be a combination of the policy providers instantiated previously, if there was any.
      Returns:
      the instance
      Throws:
      IllegalArgumentException - if conf required but null