Class BasePdpExtensionRegistry<T extends PdpExtension>

  • Type Parameters:
    T - type of extension in this registry
    All Implemented Interfaces:
    PdpExtensionRegistry<T>
    Direct Known Subclasses:
    ImmutableAttributeValueFactoryRegistry

    public abstract class BasePdpExtensionRegistry<T extends PdpExtension>
    extends Object
    implements PdpExtensionRegistry<T>
    This is a base implementation of PdpExtensionRegistry. This should be used as basis to implement (in a final class) an immutable PDP extension registry of a specific type. If you need a generic immutable PDP extension registry, see {
    Version:
    $Id: $
    • Constructor Detail

      • BasePdpExtensionRegistry

        protected BasePdpExtensionRegistry​(Class<? super T> extensionClass,
                                           Map<String,​? extends T> extensionsById)
        Instantiates immutable registry from a map.
        Parameters:
        extensionClass - extension class
        extensionsById - extensions input map; the registry actually creates and uses an immutable copy of this map internally to avoid external modifications on the internal map
      • BasePdpExtensionRegistry

        protected BasePdpExtensionRegistry​(Class<? super T> extensionClass,
                                           Set<? extends T> extensions)
        Instantiates immutable registry from a set of extensions
        Parameters:
        extensionClass - extension class (required not null)
        extensions - extensions (required not null)