Class CollectorContext


  • public class CollectorContext
    extends Object
    Context for holding the output returned by the Collector implementations.
    • Constructor Detail

      • CollectorContext

        public CollectorContext()
        Default constructor will use an unsynchronized HashMap to store data. This is suitable if the collector context is not shared with multiple threads.
      • CollectorContext

        public CollectorContext​(Map<String,​Object> collectorMap,
                                Map<String,​Object> collectorLoadMap)
        Constructor that creates the context using the specified instances to store data.

        If for instance the collector context needs to be shared with multiple threads a ConcurrentHashMap can be used.

        Parameters:
        collectorMap - the collector map
        collectorLoadMap - the collector load map
    • Method Detail

      • add

        public <E> void add​(String name,
                            Collector<E> collector)
        Adds a collector with give name. Preserving this method for backward compatibility.
        Type Parameters:
        E - element
        Parameters:
        name - String
        collector - Collector
      • add

        public <E> void add​(String name,
                            Object object)
        Adds a collector or a simple object with give name.
        Type Parameters:
        E - element
        Parameters:
        object - Object
        name - String
      • get

        public Object get​(String name)
        Gets the data associated with a given name. Please note if you are collecting Collector instances you should wait till the validation is complete to gather all data.

        When CollectorContext is used to collect Collector instances for a particular key, this method will return the Collector instance as long as loadCollectors() method is not called. Once the loadCollectors() method is called this method will return the actual data collected by collector.

        Parameters:
        name - String
        Returns:
        Object
      • getCollectorMap

        public Map<String,​Object> getCollectorMap()
        Gets the collector map.
        Returns:
        the collector map
      • getAll

        public Map<String,​Object> getAll()
        Returns all the collected data. Please look into get(String) method for more details.
        Returns:
        Map
      • combineWithCollector

        public void combineWithCollector​(String name,
                                         Object data)
        Combines data with Collector identified by the given name.
        Parameters:
        name - String
        data - Object
      • loadCollectors

        public void loadCollectors()
        Loads data from all collectors.