Interface CloseableNamedAttributeProvider.DependencyAwareFactory

  • Enclosing interface:
    CloseableNamedAttributeProvider

    public static interface CloseableNamedAttributeProvider.DependencyAwareFactory
    Intermediate dependency-aware CloseableNamedAttributeProvider factory that can create instances of Attribute Providers from a XML/JAXB configuration, and also provides the dependencies (required attributes) (based on this configuration), that any such instance (created by it) will need. Providing the dependencies helps to optimize the depAttrProvider argument to getInstance(AttributeValueFactoryRegistry, AttributeProvider) and therefore optimize the created provider's job of finding its own supported attribute values based on other attributes in the evaluation context.
    • Method Detail

      • getDependencies

        Set<oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType> getDependencies()
        Returns non-null Set of AttributeDesignator s required as runtime inputs to the Attribute Provider instance created by this builder. The PDP framework calls this method to know what input attributes the Provider will require (dependencies) before getInstance(AttributeValueFactoryRegistry, AttributeProvider) , and based on this, creates a specific dependency Attribute Provider that will enable the providers created by this factory to find their dependency attributes. So when the PDP framework calls getInstance(AttributeValueFactoryRegistry, AttributeProvider) subsequently to instantiate one those Providers, the last argument is this the special dependency Attribute Provider.
        Returns:
        a Set of required AttributeDesignatorTypes. Null or empty if none required.
      • getInstance

        CloseableNamedAttributeProvider getInstance​(AttributeValueFactoryRegistry attributeValueFactories,
                                                    AttributeProvider dependencyAttributeProvider)
        Create Attribute Provider instance
        Parameters:
        attributeValueFactories - AttributeValue factories for the Provider to be able to create AttributeValues
        dependencyAttributeProvider - Existing Attribute Provider supplying the possibly required attributes that new Providers instantiated here will depend on
        Returns:
        attribute value in internal model