Package org.apache.sshd.common.util
Class MapEntryUtils
- java.lang.Object
-
- org.apache.sshd.common.util.MapEntryUtils
-
public final class MapEntryUtils extends java.lang.ObjectRepresents an un-modifiable pair of values
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMapEntryUtils.EnumMapBuilder<K extends java.lang.Enum<K>,V>static classMapEntryUtils.GenericMapPopulator<K,V,M extends java.util.Map<K,V>>static classMapEntryUtils.MapBuilder<K,V>static classMapEntryUtils.NavigableMapBuilder<K,V>
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Comparator<java.util.Map.Entry<java.lang.Comparable,?>>BY_KEY_COMPARATORprivate static java.util.function.SupplierCASE_INSENSITIVE_MAP_FACTORY
-
Constructor Summary
Constructors Modifier Constructor Description privateMapEntryUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <K extends java.lang.Comparable<K>,V>
java.util.Comparator<java.util.Map.Entry<K,V>>byKeyEntryComparator()static <V> java.util.function.Supplier<java.util.NavigableMap<java.lang.String,V>>caseInsensitiveMap()static <K,V,M extends java.util.Map<V,K>>
MflipMap(java.util.Map<? extends K,? extends V> map, java.util.function.Supplier<? extends M> mapCreator, boolean allowDuplicates)Flips between keys and values of an input mapstatic booleanisEmpty(java.util.Map<?,?> m)static booleanisNotEmpty(java.util.Map<?,?> m)static <K,V,M extends java.util.Map<K,V>>
MmapValues(java.util.function.Function<? super V,? extends K> keyMapper, java.util.function.Supplier<? extends M> mapCreator, java.util.Collection<? extends V> values)Creates a map out of a group of valuesstatic <K,V,M extends java.util.Map<K,V>>
MmapValues(java.util.function.Function<? super V,? extends K> keyMapper, java.util.function.Supplier<? extends M> mapCreator, V... values)static intsize(java.util.Map<?,?> m)static <T> java.util.function.BinaryOperator<T>throwingMerger()static <T,K,U>
java.util.NavigableMap<K,U>toSortedMap(java.lang.Iterable<? extends T> values, java.util.function.Function<? super T,? extends K> keyMapper, java.util.function.Function<? super T,? extends U> valueMapper, java.util.Comparator<? super K> comparator)static <T,K,U>
java.util.stream.Collector<T,?,java.util.NavigableMap<K,U>>toSortedMap(java.util.function.Function<? super T,? extends K> keyMapper, java.util.function.Function<? super T,? extends U> valueMapper, java.util.Comparator<? super K> comparator)
-
-
-
Method Detail
-
byKeyEntryComparator
public static <K extends java.lang.Comparable<K>,V> java.util.Comparator<java.util.Map.Entry<K,V>> byKeyEntryComparator()
- Type Parameters:
K- TheComparablekey typeV- The associated entry value- Returns:
- A
ComparatorforMap.Entry-ies that compares the key values
-
size
public static int size(java.util.Map<?,?> m)
-
isEmpty
public static boolean isEmpty(java.util.Map<?,?> m)
-
isNotEmpty
public static boolean isNotEmpty(java.util.Map<?,?> m)
-
caseInsensitiveMap
public static <V> java.util.function.Supplier<java.util.NavigableMap<java.lang.String,V>> caseInsensitiveMap()
- Type Parameters:
V- Type of mapped value- Returns:
- A
Supplierthat returns a newNavigableMapwhenever itsget()method is invoked
-
flipMap
public static <K,V,M extends java.util.Map<V,K>> M flipMap(java.util.Map<? extends K,? extends V> map, java.util.function.Supplier<? extends M> mapCreator, boolean allowDuplicates)Flips between keys and values of an input map- Type Parameters:
K- Original map key typeV- Original map value typeM- Flipped map type- Parameters:
map- The original map to flipmapCreator- The creator of the target mapallowDuplicates- Whether to ignore duplicates on flip- Returns:
- The flipped map result
- Throws:
java.lang.IllegalArgumentException- if allowDuplicates isfalseand a duplicate value found in the original map.
-
mapValues
@SafeVarargs public static <K,V,M extends java.util.Map<K,V>> M mapValues(java.util.function.Function<? super V,? extends K> keyMapper, java.util.function.Supplier<? extends M> mapCreator, V... values)
-
mapValues
public static <K,V,M extends java.util.Map<K,V>> M mapValues(java.util.function.Function<? super V,? extends K> keyMapper, java.util.function.Supplier<? extends M> mapCreator, java.util.Collection<? extends V> values)Creates a map out of a group of values- Type Parameters:
K- The key typeV- The value typeM- The resultMaptype- Parameters:
keyMapper- TheFunctionthat generates a key for a given value. If the returned key isnullthen the value is not mappedmapCreator- TheSupplierused to create/retrieve the result map - provided non-empty group of valuesvalues- The values to be mapped- Returns:
- The resulting
Map- Note: no validation is made to ensure that 2 (or more) values are not mapped to the same key
-
toSortedMap
public static <T,K,U> java.util.NavigableMap<K,U> toSortedMap(java.lang.Iterable<? extends T> values, java.util.function.Function<? super T,? extends K> keyMapper, java.util.function.Function<? super T,? extends U> valueMapper, java.util.Comparator<? super K> comparator)
-
toSortedMap
public static <T,K,U> java.util.stream.Collector<T,?,java.util.NavigableMap<K,U>> toSortedMap(java.util.function.Function<? super T,? extends K> keyMapper, java.util.function.Function<? super T,? extends U> valueMapper, java.util.Comparator<? super K> comparator)
-
throwingMerger
public static <T> java.util.function.BinaryOperator<T> throwingMerger()
-
-