Class ReadOnlyParameters

    • Constructor Detail

      • ReadOnlyParameters

        public ReadOnlyParameters​(Map<String,​List<String>> data)
        Creates an instance from provided multi-map.
        Parameters:
        data - multi-map data to copy.
      • ReadOnlyParameters

        public ReadOnlyParameters​(Parameters parameters)
        Creates an instance from provided multi-map.
        Parameters:
        parameters - parameters to copy.
    • Method Detail

      • empty

        public static ReadOnlyParameters empty()
        Returns empty and immutable singleton.
        Returns:
        the parameters singleton instance which is empty and immutable.
      • 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
      • putAll

        public ReadOnlyParameters 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 ReadOnlyParameters 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 ReadOnlyParameters 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
      • 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
      • addAll

        public ReadOnlyParameters 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