Class BasePdpEngineAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST extends DecisionRequest,ADAPTER_OUTPUT_DECISION_RESULT>
- java.lang.Object
-
- org.ow2.authzforce.core.pdp.api.io.BasePdpEngineAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST,ADAPTER_OUTPUT_DECISION_RESULT>
-
- Type Parameters:
ADAPTER_INPUT_DECISION_REQUEST
- type of original input decision request handled by this class. It may correspond to multiple individual decision requests (e.g. using XACML Multiple Decision Profile). Usually serializable, e.g. XACML-schema-derived JAXB Request for XML.ADAPTEE_INPUT_DECISION_REQUEST
- type of individual decision request passed to the adaptee, i.e.CloseablePdpEngine
instance.ADAPTER_OUTPUT_DECISION_RESULT
- type of output result corresponding to ADAPTER_INPUT_DECISION_REQUEST. Usually serializable, e.g. XACML-schema-derived JAXB Result for XML.
- All Implemented Interfaces:
Closeable
,AutoCloseable
,PdpEngineInoutAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTER_OUTPUT_DECISION_RESULT>
public final class BasePdpEngineAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST extends DecisionRequest,ADAPTER_OUTPUT_DECISION_RESULT> extends Object implements PdpEngineInoutAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTER_OUTPUT_DECISION_RESULT>
Generic implementation ofPdpEngineInoutAdapter
-
-
Constructor Summary
Constructors Constructor Description BasePdpEngineAdapter(CloseablePdpEngine adaptedPdpEngine, DecisionRequestPreprocessor<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST> requestPreproc, DecisionResultPostprocessor<ADAPTEE_INPUT_DECISION_REQUEST,ADAPTER_OUTPUT_DECISION_RESULT> resultPostproc)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
ADAPTER_OUTPUT_DECISION_RESULT
evaluate(ADAPTER_INPUT_DECISION_REQUEST request)
Same asevaluate(Object, Map)
but with null/emptynamespaceURIsByPrefix
ADAPTER_OUTPUT_DECISION_RESULT
evaluate(ADAPTER_INPUT_DECISION_REQUEST request, Map<String,String> namespaceURIsByPrefix)
Evaluates an XML/JAXB-based XACML decision requestIterable<PrimaryPolicyMetadata>
getApplicablePolicies()
Get the PDP engine's evaluated root policy and policies referenced - directly or indirectly - from the root policy, independent of the evaluation context, i.e.
-
-
-
Constructor Detail
-
BasePdpEngineAdapter
public BasePdpEngineAdapter(CloseablePdpEngine adaptedPdpEngine, DecisionRequestPreprocessor<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST> requestPreproc, DecisionResultPostprocessor<ADAPTEE_INPUT_DECISION_REQUEST,ADAPTER_OUTPUT_DECISION_RESULT> resultPostproc) throws IllegalArgumentException
Constructor- Parameters:
adaptedPdpEngine
- adapted PDP enginerequestPreproc
- Decision request preprocessor, transforming to XACML Request prior to policy evaluation. is used.resultPostproc
- Decision result postprocessor, transforming to XACML Result after policy evaluation.- Throws:
IllegalArgumentException
- if any parameter is null
-
-
Method Detail
-
getApplicablePolicies
public Iterable<PrimaryPolicyMetadata> getApplicablePolicies()
Description copied from interface:PdpEngineInoutAdapter
Get the PDP engine's evaluated root policy and policies referenced - directly or indirectly - from the root policy, independent of the evaluation context, i.e. assuming all are statically resolved- Specified by:
getApplicablePolicies
in interfacePdpEngineInoutAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST extends DecisionRequest>
- Returns:
- the root - always in first position - and referenced policies; null if any of these policies is not statically resolved (once and for all)
-
evaluate
public ADAPTER_OUTPUT_DECISION_RESULT evaluate(ADAPTER_INPUT_DECISION_REQUEST request, Map<String,String> namespaceURIsByPrefix)
Evaluates an XML/JAXB-based XACML decision requestNote that if the request is somehow invalid (it was missing a required attribute, it was using an unsupported scope, etc.), then the result will be a decision of INDETERMINATE.
- Specified by:
evaluate
in interfacePdpEngineInoutAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST extends DecisionRequest>
- Parameters:
request
- the request to evaluatenamespaceURIsByPrefix
- namespace prefix-URI mappings (e.g. "... xmlns:prefix=uri") in the original XACML Request bound toreq
, used as part of the context for XPath evaluation- Returns:
- the response to the request
-
evaluate
public ADAPTER_OUTPUT_DECISION_RESULT evaluate(ADAPTER_INPUT_DECISION_REQUEST request)
Same asevaluate(Object, Map)
but with null/emptynamespaceURIsByPrefix
- Specified by:
evaluate
in interfacePdpEngineInoutAdapter<ADAPTER_INPUT_DECISION_REQUEST,ADAPTEE_INPUT_DECISION_REQUEST extends DecisionRequest>
- Parameters:
request
- the request to evaluate- Returns:
- the response to the request
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
-