Class StandardEnvironmentAttributeProvider

  • All Implemented Interfaces:
    Closeable, AutoCloseable, org.ow2.authzforce.core.pdp.api.CloseableNamedAttributeProvider, org.ow2.authzforce.core.pdp.api.NamedAttributeProvider

    public final class StandardEnvironmentAttributeProvider
    extends org.ow2.authzforce.core.pdp.api.BaseNamedAttributeProvider
    AttributeProvider that provides the standard environment attributes specified in XACML 3.0 Core specification, §10.2.5: current-time, current-date and current-dateTime. This AttributeProvider is enabled by default with override=false mode, in order to comply with XACML 3.0 standard (§10.2.5): If values for these attributes are not present in the decision request, then their values MUST be supplied by the context handler. Note that it does not say If AND ONLY IF, therefore, the override=true mode (always supplied/overridden by the context handler even if present in the request) may still be considered XACML-compliant in a strict sense.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  StandardEnvironmentAttributeProvider.Factory
      AttributeProvider factory
      • Nested classes/interfaces inherited from interface org.ow2.authzforce.core.pdp.api.CloseableNamedAttributeProvider

        org.ow2.authzforce.core.pdp.api.CloseableNamedAttributeProvider.DependencyAwareFactory, org.ow2.authzforce.core.pdp.api.CloseableNamedAttributeProvider.FactoryBuilder<CONF_T extends org.ow2.authzforce.xmlns.pdp.ext.AbstractAttributeProvider>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static org.ow2.authzforce.core.pdp.api.CloseableNamedAttributeProvider.DependencyAwareFactory DEFAULT_FACTORY
      Default factory, XACML-compliant (override='false'), creates attribute provider instances with id=DEFAULT_ID
      static String DEFAULT_ID
      Default provider ID, i.e.
      • Fields inherited from interface org.ow2.authzforce.core.pdp.api.NamedAttributeProvider

        NOT_IMPLEMENTED_EXCEPTION
    • Field Detail

      • DEFAULT_FACTORY

        public static final org.ow2.authzforce.core.pdp.api.CloseableNamedAttributeProvider.DependencyAwareFactory DEFAULT_FACTORY
        Default factory, XACML-compliant (override='false'), creates attribute provider instances with id=DEFAULT_ID
    • Method Detail

      • close

        public void close()
      • getProvidedAttributes

        public Set<oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType> getProvidedAttributes()
      • supportsBeginMultipleDecisionRequest

        public boolean supportsBeginMultipleDecisionRequest()
      • beginMultipleDecisionRequest

        public void beginMultipleDecisionRequest​(org.ow2.authzforce.core.pdp.api.EvaluationContext mdpContext)
      • supportsBeginIndividualDecisionRequest

        public boolean supportsBeginIndividualDecisionRequest()
      • beginIndividualDecisionRequest

        public void beginIndividualDecisionRequest​(org.ow2.authzforce.core.pdp.api.EvaluationContext context,
                                                   Optional<org.ow2.authzforce.core.pdp.api.EvaluationContext> mdpContext)
                                            throws org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException
        Throws:
        org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException
      • get

        public <AV extends org.ow2.authzforce.core.pdp.api.value.AttributeValue> org.ow2.authzforce.core.pdp.api.value.AttributeBag<AV> get​(org.ow2.authzforce.core.pdp.api.AttributeFqn attributeFQN,
                                                                                                                                            org.ow2.authzforce.core.pdp.api.value.Datatype<AV> datatype,
                                                                                                                                            org.ow2.authzforce.core.pdp.api.EvaluationContext context,
                                                                                                                                            Optional<org.ow2.authzforce.core.pdp.api.EvaluationContext> mdpContext)
                                                                                                                                     throws org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException
        Throws:
        org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException