public class GenericPolicyProcessor extends java.lang.Object implements IPolicyProcessor
Modifier and Type | Field and Description |
---|---|
static java.lang.String[] |
DEF_POLICIES |
static java.util.Hashtable<java.lang.String,IExpression> |
DEF_UNDELETABLE_POLICIES |
static org.slf4j.Logger |
logger |
protected IAuthority |
mAuthority |
protected IConfigStore |
mConfig |
protected com.netscape.cmscore.apps.EngineConfig |
mGlobalStore |
PROP_CLASS, PROP_DEF_POLICIES, PROP_ENABLE, PROP_IMPL, PROP_IMPL_NAME, PROP_ORDER, PROP_PREDICATE, PROP_RULE, PROP_UNDELETABLE_POLICIES
Constructor and Description |
---|
GenericPolicyProcessor() |
GenericPolicyProcessor(boolean initSystemPolicies) |
Modifier and Type | Method and Description |
---|---|
void |
addPolicyImpl(java.lang.String id,
java.lang.String classPath)
Adds a policy implementation identified by an impl id.
|
void |
addPolicyInstance(java.lang.String id,
java.util.Hashtable<java.lang.String,java.lang.String> ht)
Adds a policy instance
|
PolicyResult |
apply(IRequest request)
Apply policies on the given request.
|
void |
changePolicyInstanceOrdering(java.lang.String policyOrderStr)
Modifies policy ordering.
|
void |
deletePolicyImpl(java.lang.String id)
Deletes a policy implementation identified by an impl id.
|
void |
deletePolicyInstance(java.lang.String id)
Deletes a policy instance identified by an instance id.
|
ISubsystem |
getAuthority() |
IConfigStore |
getConfigStore()
Returns the configuration store.
|
java.lang.String |
getId() |
IPolicyRule |
getPolicyImpl(java.lang.String id)
Returns an implementation identified by a given id.
|
java.util.Vector<java.lang.String> |
getPolicyImplConfig(java.lang.String id)
Returns configuration for an implmentation.
|
java.util.Enumeration<IPolicyRule> |
getPolicyImpls()
Returns the rule implementations registered with this processor.
|
java.util.Enumeration<java.lang.String> |
getPolicyImplsInfo()
Returns information on Policy impls.
|
IPolicyRule |
getPolicyInstance(java.lang.String id)
Returns instance configuration for a given instance id.
|
java.util.Vector<java.lang.String> |
getPolicyInstanceConfig(java.lang.String id)
Returns instance configuration for a given instance id.
|
java.util.Enumeration<IPolicyRule> |
getPolicyInstances()
Returns policy instances registered with this processor.
|
java.util.Enumeration<java.lang.String> |
getPolicyInstancesInfo()
Returns information on Policy instances.
|
java.lang.String |
getPolicySubstoreId()
Returns the policy substore id.
|
void |
init(IAuthority owner,
IConfigStore config)
Initializes the PolicyProcessor
|
boolean |
isProfileRequest(IRequest request) |
void |
modifyPolicyInstance(java.lang.String id,
java.util.Hashtable<java.lang.String,java.lang.String> ht)
Modifies a policy instance
|
void |
printPolicies() |
void |
setId(java.lang.String id) |
void |
shutdown()
Shuts down this subsystem.
|
void |
startup() |
public static org.slf4j.Logger logger
protected IConfigStore mConfig
protected com.netscape.cmscore.apps.EngineConfig mGlobalStore
protected IAuthority mAuthority
public static final java.lang.String[] DEF_POLICIES
public static final java.util.Hashtable<java.lang.String,IExpression> DEF_UNDELETABLE_POLICIES
public GenericPolicyProcessor()
public GenericPolicyProcessor(boolean initSystemPolicies)
public void setId(java.lang.String id) throws EBaseException
EBaseException
public java.lang.String getId()
public void startup() throws EBaseException
EBaseException
public void shutdown()
public ISubsystem getAuthority()
getAuthority
in interface IPolicyProcessor
public IConfigStore getConfigStore()
public void init(IAuthority owner, IConfigStore config) throws EBaseException
owner
- owner of this subsystemconfig
- configuration of this subsystemEBaseException
- failed to initialize this Subsystem.public boolean isProfileRequest(IRequest request)
public PolicyResult apply(IRequest request)
public void printPolicies()
public java.lang.String getPolicySubstoreId()
IPolicyProcessor
getPolicySubstoreId
in interface IPolicyProcessor
public java.util.Enumeration<IPolicyRule> getPolicyImpls()
IPolicyProcessor
getPolicyImpls
in interface IPolicyProcessor
public java.util.Enumeration<java.lang.String> getPolicyImplsInfo()
IPolicyProcessor
getPolicyImplsInfo
in interface IPolicyProcessor
public IPolicyRule getPolicyImpl(java.lang.String id)
IPolicyProcessor
getPolicyImpl
in interface IPolicyProcessor
id
- The implementation id.public java.util.Vector<java.lang.String> getPolicyImplConfig(java.lang.String id)
IPolicyProcessor
getPolicyImplConfig
in interface IPolicyProcessor
id
- The implementation id.public void deletePolicyImpl(java.lang.String id) throws EBaseException
IPolicyProcessor
deletePolicyImpl
in interface IPolicyProcessor
id
- The impl id of the policy to be deleted.
There shouldn't be any active instance for this
implementation.EBaseException
- is thrown if an error occurs in deletion.public void addPolicyImpl(java.lang.String id, java.lang.String classPath) throws EBaseException
IPolicyProcessor
addPolicyImpl
in interface IPolicyProcessor
id
- The impl id of the policy to be added.
The id should be unique.classPath
- The fully qualified path for the implementation.EBaseException
- is thrown if an error occurs in addition.public java.util.Enumeration<IPolicyRule> getPolicyInstances()
IPolicyProcessor
getPolicyInstances
in interface IPolicyProcessor
public java.util.Enumeration<java.lang.String> getPolicyInstancesInfo()
IPolicyProcessor
getPolicyInstancesInfo
in interface IPolicyProcessor
public IPolicyRule getPolicyInstance(java.lang.String id)
IPolicyProcessor
getPolicyInstance
in interface IPolicyProcessor
id
- The rule id.public java.util.Vector<java.lang.String> getPolicyInstanceConfig(java.lang.String id)
IPolicyProcessor
getPolicyInstanceConfig
in interface IPolicyProcessor
id
- The rule id.public void deletePolicyInstance(java.lang.String id) throws EBaseException
IPolicyProcessor
deletePolicyInstance
in interface IPolicyProcessor
id
- The instance id of the policy to be deleted.EBaseException
- is thrown if an error occurs in deletion.public void addPolicyInstance(java.lang.String id, java.util.Hashtable<java.lang.String,java.lang.String> ht) throws EBaseException
IPolicyProcessor
addPolicyInstance
in interface IPolicyProcessor
id
- The impl id of the policy to be added.
The id should be unique.ht
- a Hashtable of config params.EBaseException
- is thrown if an error occurs in addition.public void modifyPolicyInstance(java.lang.String id, java.util.Hashtable<java.lang.String,java.lang.String> ht) throws EBaseException
IPolicyProcessor
modifyPolicyInstance
in interface IPolicyProcessor
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.EBaseException
- is thrown if an error occurs in addition.public void changePolicyInstanceOrdering(java.lang.String policyOrderStr) throws EBaseException
IPolicyProcessor
changePolicyInstanceOrdering
in interface IPolicyProcessor
policyOrderStr
- The comma separated list of instance ids.EBaseException