Class AbstractMappedPolicy<C>
- java.lang.Object
-
- io.apiman.gateway.engine.policies.AbstractMappedPolicy<C>
-
- Type Parameters:
C- the config type
- All Implemented Interfaces:
IPolicy
- Direct Known Subclasses:
AbstractIPListPolicy,AbstractMappedDataPolicy,AuthorizationPolicy,BasicAuthenticationPolicy,IgnoredResourcesPolicy,RateLimitingPolicy,TimeRestrictedAccessPolicy
public abstract class AbstractMappedPolicy<C> extends Object implements IPolicy
A base class for policy impls that uses Jackson to parse configuration info.- Author:
- eric.wittmann@redhat.com, marc@blackparrotlabs.io
-
-
Constructor Summary
Constructors Constructor Description AbstractMappedPolicy()Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidapply(ApiRequest request, IPolicyContext context, Object config, IPolicyChain<ApiRequest> chain)voidapply(ApiResponse response, IPolicyContext context, Object config, IPolicyChain<ApiResponse> chain)protected voiddoApply(ApiRequest request, IPolicyContext context, C config, IPolicyChain<ApiRequest> chain)Override this method to interact with or observe the request.protected voiddoApply(ApiResponse response, IPolicyContext context, C config, IPolicyChain<ApiResponse> chain)Apply the policy to the response.protected voiddoProcessFailure(PolicyFailure failure, IPolicyContext context, C config, IPolicyFailureChain chain)Override if you wish to modify a failure.abstract Class<C>getConfigurationClass()The class to use for JSON configuration deserializationCparseConfiguration(String jsonConfiguration)voidprocessFailure(PolicyFailure failure, IPolicyContext context, Object config, IPolicyFailureChain chain)
-
-
-
Method Detail
-
parseConfiguration
public C parseConfiguration(String jsonConfiguration) throws ConfigurationParseException
Using Jackson, the configuration is read into the class specified structure by
getConfigurationClass().Most implementors should not override this method unless they do not want to use Jackson (e.g. using a non-JSON format).
- Specified by:
parseConfigurationin interfaceIPolicy- Throws:
ConfigurationParseException
-
getConfigurationClass
public abstract Class<C> getConfigurationClass()
The class to use for JSON configuration deserialization- Returns:
- the class
-
apply
public final void apply(ApiRequest request, IPolicyContext context, Object config, IPolicyChain<ApiRequest> chain)
-
doApply
protected void doApply(ApiRequest request, IPolicyContext context, C config, IPolicyChain<ApiRequest> chain)
Override this method to interact with or observe the request.- Parameters:
request- the requestchain- the ordered policy chain- See Also:
apply(ApiResponse, IPolicyContext, Object, IPolicyChain)
-
apply
public final void apply(ApiResponse response, IPolicyContext context, Object config, IPolicyChain<ApiResponse> chain)
-
doApply
protected void doApply(ApiResponse response, IPolicyContext context, C config, IPolicyChain<ApiResponse> chain)
Apply the policy to the response.Override this method to interact with or observe the response.
- Parameters:
response- the responsecontext- the policy contextconfig- the configuration (seegetConfigurationClass())chain- the ordered policy chain
-
processFailure
public void processFailure(PolicyFailure failure, IPolicyContext context, Object config, IPolicyFailureChain chain)
- Specified by:
processFailurein interfaceIPolicy
-
doProcessFailure
protected void doProcessFailure(PolicyFailure failure, IPolicyContext context, C config, IPolicyFailureChain chain)
Override if you wish to modify a failure.
-
-