Interface Configuration


  • public interface Configuration
    A configuration state associated with a configurable context. Defines the components as well as additional meta-data for the configured context.

    A configuration state may be used to retrieve configuration information about of the associated context (e.g. application, resource method, etc.) or component (e.g. Client, WebTarget, etc.). Configuration information consists of properties, registered component classes and/or instances.

    This interface can be injected using the Context annotation.

    Since:
    2.0
    Author:
    Marek Potociar
    • Method Summary

      Modifier and Type Method Description
      Set<Class<?>> getClasses()
      Get the immutable set of registered component (such as provider or feature) classes to be instantiated, injected and utilized in the scope of the configurable instance.
      Map<Class<?>,​Integer> getContracts​(Class<?> componentClass)
      Get the extension contract registration information for a component of a given class.
      Set<Object> getInstances()
      Get the immutable set of registered component (such as provider or feature) instances to be utilized by the configurable instance.
      Map<String,​Object> getProperties()
      Get the immutable bag of configuration properties.
      Object getProperty​(String name)
      Get the value for the property with a given name.
      Collection<String> getPropertyNames()
      Returns an immutable collection containing the property names available within the context of the current configuration instance.
      RuntimeType getRuntimeType()
      Get the runtime type of this configuration context.
      boolean isEnabled​(Class<? extends Feature> featureClass)
      Check if a feature instance of featureClass class has been previously enabled in the runtime configuration context.
      boolean isEnabled​(Feature feature)
      Check if a particular feature instance has been previously enabled in the runtime configuration context.
      boolean isRegistered​(Class<?> componentClass)
      Check if a component of the supplied componentClass class has been previously registered in the runtime configuration context.
      boolean isRegistered​(Object component)
      Check if a particular API component instance (such as providers or features) has been previously registered in the runtime configuration context.
    • Method Detail

      • getRuntimeType

        RuntimeType getRuntimeType()
        Get the runtime type of this configuration context.
        Returns:
        configuration context runtime type.
      • getProperties

        Map<String,​Object> getProperties()
        Get the immutable bag of configuration properties.
        Returns:
        the immutable view of configuration properties.
      • getProperty

        Object getProperty​(String name)
        Get the value for the property with a given name.
        Parameters:
        name - property name.
        Returns:
        the property value for the specified property name or null if the property with such name is not configured.
      • isEnabled

        boolean isEnabled​(Feature feature)
        Check if a particular feature instance has been previously enabled in the runtime configuration context.

        Method returns true only in case an instance equal to the feature instance is already present among the features previously successfully enabled in the configuration context.

        Parameters:
        feature - a feature instance to test for.
        Returns:
        true if the feature instance has been previously enabled in this configuration context, false otherwise.
      • isEnabled

        boolean isEnabled​(Class<? extends Feature> featureClass)
        Check if a feature instance of featureClass class has been previously enabled in the runtime configuration context.

        Method returns true in case any instance of the featureClass class is already present among the features previously successfully enabled in the configuration context.

        Parameters:
        featureClass - a feature class to test for.
        Returns:
        true if a feature of a given class has been previously enabled in this configuration context, false otherwise.
      • isRegistered

        boolean isRegistered​(Object component)
        Check if a particular API component instance (such as providers or features) has been previously registered in the runtime configuration context.

        Method returns true only in case an instance equal to the component instance is already present among the components previously registered in the configuration context.

        Parameters:
        component - a component instance to test for.
        Returns:
        true if the component instance has been previously registered in this configuration context, false otherwise.
        See Also:
        isEnabled(Feature)
      • isRegistered

        boolean isRegistered​(Class<?> componentClass)
        Check if a component of the supplied componentClass class has been previously registered in the runtime configuration context.

        Method returns true in case a component of the supplied componentClass class is already present among the previously registered component classes or instances in the configuration context.

        Parameters:
        componentClass - a component class to test for.
        Returns:
        true if a component of a given class has been previously registered in this configuration context, false otherwise.
        See Also:
        isEnabled(Class)
      • getContracts

        Map<Class<?>,​Integer> getContracts​(Class<?> componentClass)
        Get the extension contract registration information for a component of a given class. For component classes that are not configured in this configuration context the method returns an empty Map. Method does not return null.
        Returns:
        map of extension contracts and their priorities for which the component class is registered. May return an empty map in case the component has not been registered for any extension contract supported by the implementation.
      • getClasses

        Set<Class<?>> getClasses()
        Get the immutable set of registered component (such as provider or feature) classes to be instantiated, injected and utilized in the scope of the configurable instance.

        For each component type, there can be only a single class-based or instance-based registration present in the configuration context at any given time.

        Returns:
        the immutable set of registered component classes. The returned value may be empty but will never be null.
        See Also:
        getInstances()
      • getInstances

        Set<Object> getInstances()
        Get the immutable set of registered component (such as provider or feature) instances to be utilized by the configurable instance. Fields and properties of returned instances are injected with their declared dependencies (see Context) by the runtime prior to use.

        For each component type, there can be only a single class-based or instance-based registration present in the configuration context at any given time.

        Returns:
        the immutable set of registered component instances. The returned value may be empty but will never be null.
        See Also:
        getClasses()