Class PolicyProcessor

java.lang.Object
org.dogtagpki.legacy.policy.PolicyProcessor
Direct Known Subclasses:
GenericPolicyProcessor

public abstract class PolicyProcessor extends Object
A generic interface for a policy processor. By making a processor extend the policy interface, we make even the processor a rule - which makes sense because a processor may be based on some rule such as evaluate all policies before returning the final result or return as soon as one of the policies return a failure and so on. By making both processor and policy rules implement a common interface, one can write rules that are processors as well.

 NOTE:  The Policy Framework has been replaced by the Profile Framework.
 

Version:
$Revision$, $Date$
  • Field Details

  • Constructor Details

    • PolicyProcessor

      public PolicyProcessor()
  • Method Details

    • getAuthority

      public abstract IAuthority getAuthority()
    • getPolicySubstoreId

      public abstract String getPolicySubstoreId()
      Returns the policy substore id.
      Returns:
      storeID The policy store id used by this processor.
    • getPolicyImplsInfo

      public abstract Enumeration<String> getPolicyImplsInfo()
      Returns information on Policy impls.
      Returns:
      An enumeration of strings describing the information about policy implementations. Currently only the the implementation id is expected.
    • getPolicyImpls

      public abstract Enumeration<IPolicyRule> getPolicyImpls()
      Returns the rule implementations registered with this processor.
      Returns:
      An Enumeration of uninitialized IPolicyRule objects.
    • getPolicyImpl

      public abstract IPolicyRule getPolicyImpl(String id)
      Returns an implementation identified by a given id.
      Parameters:
      id - The implementation id.
      Returns:
      The uninitialized instance of the policy rule.
    • getPolicyImplConfig

      public abstract Vector<String> getPolicyImplConfig(String id)
      Returns configuration for an implmentation.
      Parameters:
      id - The implementation id.
      Returns:
      A vector of name/value pairs in the form of name=value.
    • deletePolicyImpl

      public abstract void deletePolicyImpl(String id) throws EBaseException
      Deletes a policy implementation identified by an impl id.
      Parameters:
      id - The impl id of the policy to be deleted. There shouldn't be any active instance for this implementation.
      Throws:
      EBaseException - is thrown if an error occurs in deletion.
    • addPolicyImpl

      public abstract void addPolicyImpl(String id, String classPath) throws EBaseException
      Adds a policy implementation identified by an impl id.
      Parameters:
      id - The impl id of the policy to be added. The id should be unique.
      classPath - The fully qualified path for the implementation.
      Throws:
      EBaseException - is thrown if an error occurs in addition.
    • getPolicyInstancesInfo

      public abstract Enumeration<String> getPolicyInstancesInfo()
      Returns information on Policy instances.
      Returns:
      An Enumeration of Strings describing the information about policy rule instances.
    • getPolicyInstances

      public abstract Enumeration<IPolicyRule> getPolicyInstances()
      Returns policy instances registered with this processor.
      Returns:
      An Enumeration of policy instances.
    • getPolicyInstanceConfig

      public abstract Vector<String> getPolicyInstanceConfig(String id)
      Returns instance configuration for a given instance id.
      Parameters:
      id - The rule id.
      Returns:
      A vector of name/value pairs in the form of name=value.
    • getPolicyInstance

      public abstract IPolicyRule getPolicyInstance(String id)
      Returns instance configuration for a given instance id.
      Parameters:
      id - The rule id.
      Returns:
      the policy instance identified by the id.
    • deletePolicyInstance

      public abstract void deletePolicyInstance(String id) throws EBaseException
      Deletes a policy instance identified by an instance id.
      Parameters:
      id - The instance id of the policy to be deleted.
      Throws:
      EBaseException - is thrown if an error occurs in deletion.
    • addPolicyInstance

      public abstract void addPolicyInstance(String id, Hashtable<String,String> ht) throws EBaseException
      Adds a policy instance
      Parameters:
      id - The impl id of the policy to be added. The id should be unique.
      ht - a Hashtable of config params.
      Throws:
      EBaseException - is thrown if an error occurs in addition.
    • modifyPolicyInstance

      public abstract void modifyPolicyInstance(String id, Hashtable<String,String> ht) throws EBaseException
      Modifies a policy instance
      Parameters:
      id - The impl id of the policy to be modified. The policy instance with this id should be present.
      ht - a Hashtable of config params.
      Throws:
      EBaseException - is thrown if an error occurs in addition.
    • changePolicyInstanceOrdering

      public abstract void changePolicyInstanceOrdering(String policyOrderStr) throws EBaseException
      Modifies policy ordering.
      Parameters:
      policyOrderStr - The comma separated list of instance ids.
      Throws:
      EBaseException