Interface PdpEngineInoutAdapter<INPUT_DECISION_REQUEST,​OUTPUT_DECISION_RESULT>

  • Type Parameters:
    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.
    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 Superinterfaces:
    AutoCloseable, Closeable
    All Known Implementing Classes:
    BasePdpEngineAdapter

    public interface PdpEngineInoutAdapter<INPUT_DECISION_REQUEST,​OUTPUT_DECISION_RESULT>
    extends Closeable
    PDP engine adapter that basically adapts/wraps a PdpEngine to support extra types of input/output decision request/response (e.g. XACML/JAXB (XML) or XACML JSON Profile).
    • Method Detail

      • evaluate

        OUTPUT_DECISION_RESULT evaluate​(INPUT_DECISION_REQUEST request,
                                        Map<String,​String> namespaceURIsByPrefix)
        Evaluates a XML/JAXB-based XACML decision request

        Note 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.

        Parameters:
        request - the request to evaluate
        namespaceURIsByPrefix - namespace prefix-URI mappings (e.g. "... xmlns:prefix=uri") in the original XACML Request bound to req, used as part of the context for XPath evaluation
        Returns:
        the response to the request
      • getApplicablePolicies

        Iterable<PrimaryPolicyMetadata> getApplicablePolicies()
        Get the PDP engine's evaluated root policy and policies referenced - directly or indirectly - from the root policy, independent from the evaluation context, i.e. assuming all are statically resolved
        Returns:
        the root - always in first position - and referenced policies; null if any of these policies is not statically resolved (once and for all)