Class HashParameters

    • Constructor Detail

      • HashParameters

        protected HashParameters()
        Creates a new instance.
      • HashParameters

        protected HashParameters​(Map<String,​List<String>> initialContent)
        Creates a new instance from provided data. Initial data are copied.
        Parameters:
        initialContent - initial content.
      • HashParameters

        protected HashParameters​(Parameters initialContent)
        Creates a new instance from provided data. Initial data is copied.
        Parameters:
        initialContent - initial content.
    • Method Detail

      • create

        public static HashParameters create​(Parameters initialContent)
        Creates a new instance HashParameters from provided data. Initial data is copied.
        Parameters:
        initialContent - initial content.
        Returns:
        a new instance of HashParameters initialized with the given content.
      • concat

        public static HashParameters concat​(Parameters... parameters)
        Creates new instance of HashParameters as a concatenation of provided parameters. Values for keys found across the provided parameters are "concatenated" into a List entry for their respective key in the created HashParameters instance.
        Parameters:
        parameters - parameters to concatenate.
        Returns:
        a new instance of HashParameters that represents the concatenation of the provided parameters.
      • concat

        public static HashParameters concat​(Iterable<Parameters> parameters)
        Creates new instance of HashParameters as a concatenation of provided parameters. Values for keys found across the provided parameters are "concatenated" into a List entry for their respective key in the created HashParameters instance.
        Parameters:
        parameters - parameters to concatenate.
        Returns:
        a new instance of HashParameters that represents the concatenation of the provided parameters.
      • first

        public Optional<String> first​(String name)
        Description copied from interface: Parameters
        Returns an Optional containing the first value of the given parameter (and possibly multi-valued) parameter. If the parameter is not present, then the returned Optional is empty.
        Specified by:
        first in interface Parameters
        Parameters:
        name - the parameter name
        Returns:
        an Optional<V> for the first named value
      • all

        public List<String> all​(String name)
        Description copied from interface: Parameters
        Returns an unmodifiable List of all of the values of the given named parameter. Always returns a List, which may be empty if the parameter is not present.
        Specified by:
        all in interface Parameters
        Parameters:
        name - the parameter name
        Returns:
        a List of values with zero or greater size
      • put

        public List<String> put​(String key,
                                String... values)
        Description copied from interface: Parameters
        Associates specified values with the specified key (optional operation). If parameters previously contained a mapping for the key, the old values fully replaced.
        Specified by:
        put in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be associated with the specified key
        Returns:
        the previous values associated with key, or empty List if there was no mapping for key.
      • put

        public List<String> put​(String key,
                                Iterable<String> values)
        Description copied from interface: Parameters
        Associates specified values with the specified key (optional operation). If parameters previously contained a mapping for the key, the old values fully replaced.
        Specified by:
        put in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be associated with the specified key. If null then association will be removed.
        Returns:
        the previous values associated with key, or empty List if there was no mapping for key.
      • putIfAbsent

        public List<String> putIfAbsent​(String key,
                                        String... values)
        Description copied from interface: Parameters
        If the specified key is not already associated with a value associates it with the given value and returns empty List, else returns the current value (optional operation).
        Specified by:
        putIfAbsent in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be associated with the specified key
        Returns:
        the previous values associated with key, or empty List if there was no mapping for key.
      • putIfAbsent

        public List<String> putIfAbsent​(String key,
                                        Iterable<String> values)
        Description copied from interface: Parameters
        If the specified key is not already associated with a value associates it with the given value and returns empty List, else returns the current value (optional operation).
        Specified by:
        putIfAbsent in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be associated with the specified key
        Returns:
        the previous values associated with key, or empty List if there was no mapping for key.
      • computeIfAbsent

        public List<String> computeIfAbsent​(String key,
                                            Function<String,​Iterable<String>> values)
        Description copied from interface: Parameters
        If the specified key is not already associated with a value computes new association using the given function and returns empty List, else returns the current value (optional operation).
        Specified by:
        computeIfAbsent in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be associated with the specified key
        Returns:
        the current (potentially computed) values associated with key, or empty List if function returns null
      • computeSingleIfAbsent

        public List<String> computeSingleIfAbsent​(String key,
                                                  Function<String,​String> value)
        Description copied from interface: Parameters
        If the specified key is not already associated with a value computes new association using the given function and returns empty List, else returns the current value (optional operation).
        Specified by:
        computeSingleIfAbsent in interface Parameters
        Parameters:
        key - a key with which the specified value is to be associated
        value - a single value to be associated with the specified key
        Returns:
        the current (potentially computed) values associated with key, or empty List if function returns null
      • putAll

        public HashParameters putAll​(Parameters parameters)
        Description copied from interface: Parameters
        Copies all of the mappings from the specified parameters to this instance replacing values of existing associations (optional operation).
        Specified by:
        putAll in interface Parameters
        Parameters:
        parameters - to copy.
        Returns:
        this instance of Parameters
      • add

        public HashParameters add​(String key,
                                  String... values)
        Description copied from interface: Parameters
        Adds specified values tu association with the specified key (optional operation). If parameters doesn't contains mapping, new mapping is created.
        Specified by:
        add in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be add to association with the specified key
        Returns:
        this instance of Parameters
      • add

        public HashParameters add​(String key,
                                  Iterable<String> values)
        Description copied from interface: Parameters
        Adds specified values tu association with the specified key (optional operation). If parameters doesn't contains mapping, new mapping is created.
        Specified by:
        add in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be add to association with the specified key. If null then noting will be add.
        Returns:
        this instance of Parameters
      • addAll

        public HashParameters addAll​(Parameters parameters)
        Description copied from interface: Parameters
        Copies all of the mappings from the specified parameters to this instance adding values to existing associations (optional operation).
        Specified by:
        addAll in interface Parameters
        Parameters:
        parameters - to copy.
        Returns:
        this instance of Parameters
      • remove

        public List<String> remove​(String key)
        Description copied from interface: Parameters
        Removes the mapping for a key if it is present (optional operation).
        Specified by:
        remove in interface Parameters
        Parameters:
        key - key whose mapping is to be removed.
        Returns:
        the previous value associated with key, or empty List.
      • toMap

        public Map<String,​List<String>> toMap()
        Description copied from interface: Parameters
        Returns a copy of parameters as a Map. This interface should only be used when it is required to iterate over the entire set of parameters.
        Specified by:
        toMap in interface Parameters
        Returns:
        the Map
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object