Class MapConstraints


  • @Beta
    @GwtCompatible
    public final class MapConstraints
    extends java.lang.Object
    Factory and utilities pertaining to the MapConstraint interface.
    Since:
    3.0
    See Also:
    Constraints
    • Method Detail

      • notNull

        public static MapConstraint<java.lang.Object,​java.lang.Object> notNull()
        Returns a constraint that verifies that neither the key nor the value is null. If either is null, a NullPointerException is thrown.
      • constrainedMap

        public static <K,​V> java.util.Map<K,​V> constrainedMap​(java.util.Map<K,​V> map,
                                                                          MapConstraint<? super K,​? super V> constraint)
        Returns a constrained view of the specified map, using the specified constraint. Any operations that add new mappings will call the provided constraint. However, this method does not verify that existing mappings satisfy the constraint.

        The returned map is not serializable.

        Parameters:
        map - the map to constrain
        constraint - the constraint that validates added entries
        Returns:
        a constrained view of the specified map
      • constrainedMultimap

        public static <K,​V> Multimap<K,​V> constrainedMultimap​(Multimap<K,​V> multimap,
                                                                          MapConstraint<? super K,​? super V> constraint)
        Returns a constrained view of the specified multimap, using the specified constraint. Any operations that add new mappings will call the provided constraint. However, this method does not verify that existing mappings satisfy the constraint.

        Note that the generated multimap's Multimap.removeAll(java.lang.Object) and Multimap.replaceValues(K, java.lang.Iterable<? extends V>) methods return collections that are not constrained.

        The returned multimap is not serializable.

        Parameters:
        multimap - the multimap to constrain
        constraint - the constraint that validates added entries
        Returns:
        a constrained view of the multimap
      • constrainedListMultimap

        public static <K,​V> ListMultimap<K,​V> constrainedListMultimap​(ListMultimap<K,​V> multimap,
                                                                                  MapConstraint<? super K,​? super V> constraint)
        Returns a constrained view of the specified list multimap, using the specified constraint. Any operations that add new mappings will call the provided constraint. However, this method does not verify that existing mappings satisfy the constraint.

        Note that the generated multimap's Multimap.removeAll(java.lang.Object) and Multimap.replaceValues(K, java.lang.Iterable<? extends V>) methods return collections that are not constrained.

        The returned multimap is not serializable.

        Parameters:
        multimap - the multimap to constrain
        constraint - the constraint that validates added entries
        Returns:
        a constrained view of the specified multimap
      • constrainedSetMultimap

        public static <K,​V> SetMultimap<K,​V> constrainedSetMultimap​(SetMultimap<K,​V> multimap,
                                                                                MapConstraint<? super K,​? super V> constraint)
        Returns a constrained view of the specified set multimap, using the specified constraint. Any operations that add new mappings will call the provided constraint. However, this method does not verify that existing mappings satisfy the constraint.

        Note that the generated multimap's Multimap.removeAll(java.lang.Object) and Multimap.replaceValues(K, java.lang.Iterable<? extends V>) methods return collections that are not constrained.

        The returned multimap is not serializable.

        Parameters:
        multimap - the multimap to constrain
        constraint - the constraint that validates added entries
        Returns:
        a constrained view of the specified multimap
      • constrainedSortedSetMultimap

        public static <K,​V> SortedSetMultimap<K,​V> constrainedSortedSetMultimap​(SortedSetMultimap<K,​V> multimap,
                                                                                            MapConstraint<? super K,​? super V> constraint)
        Returns a constrained view of the specified sorted-set multimap, using the specified constraint. Any operations that add new mappings will call the provided constraint. However, this method does not verify that existing mappings satisfy the constraint.

        Note that the generated multimap's Multimap.removeAll(java.lang.Object) and Multimap.replaceValues(K, java.lang.Iterable<? extends V>) methods return collections that are not constrained.

        The returned multimap is not serializable.

        Parameters:
        multimap - the multimap to constrain
        constraint - the constraint that validates added entries
        Returns:
        a constrained view of the specified multimap
      • constrainedBiMap

        public static <K,​V> BiMap<K,​V> constrainedBiMap​(BiMap<K,​V> map,
                                                                    MapConstraint<? super K,​? super V> constraint)
        Returns a constrained view of the specified bimap, using the specified constraint. Any operations that modify the bimap will have the associated keys and values verified with the constraint.

        The returned bimap is not serializable.

        Parameters:
        map - the bimap to constrain
        constraint - the constraint that validates added entries
        Returns:
        a constrained view of the specified bimap