Class PropertiesBeanProvider

  • All Implemented Interfaces:
    BeanProvider

    public class PropertiesBeanProvider
    extends MapBeanProvider

    A specialized BeanProvider implementation for creating a java.util.Properties object.

    This class works analogously to MapBeanProvider, but it creates a specialized map: a Properties object. Because the major part of the functionality required is already implemented by the super class this implementation can be very simple. It merely has to override the createMap() method to return a Properties instance.

    This class stands in a similar relation to MapBeanProvider as java.util.Properties stands to its ancestor java.util.HashMap: Properties operates on string keys and values, but through the methods inherited from its base class it is possible to store data of other types as well. The same is true for this BeanProvider implementation. It accepts any kind of dependencies for keys and values and does not perform a type check. So it lies in the responsibility of the user to populate the Properties object only with valid keys and values.

    Version:
    $Id: PropertiesBeanProvider.java 205 2012-01-29 18:29:57Z oheger $
    Author:
    Oliver Heger
    • Constructor Detail

      • PropertiesBeanProvider

        public PropertiesBeanProvider​(Collection<Dependency> keyDeps,
                                      Collection<Dependency> valDeps)
        Creates a new instance of PropertiesBeanProvider and initializes it with the dependencies for keys and values. Note that the ordered flag supported by the super class does not make sense in this context.
        Parameters:
        keyDeps - the dependencies for the property keys (must not be null)
        valDeps - the dependencies for the property values (must not be null)
        Throws:
        IllegalArgumentException - if either keyDeps or valDeps is null or the sizes of the collections are different
    • Method Detail

      • createMap

        protected Map<Object,​Object> createMap()
        Creates the map managed by this bean provider. This implementation constructs a new Properties object.
        Overrides:
        createMap in class MapBeanProvider
        Returns:
        the map managed by this bean provider