Package org.identityconnectors.common
Class CollectionUtil
java.lang.Object
org.identityconnectors.common.CollectionUtil
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> List<T> asReadOnlyList(List<T> list) Returns a read-only list.static <T,K> Map <T, K> asReadOnlyMap(Map<T, K> map) static booleanEquality function that properly handles arrays, lists, maps, lists of arrays, and maps of arrays.static <T> intforceCompare(Object o1, Object o2) Forces the compare of two comparable objects and removes any warnings generated by the compiler.static inthashCode function that properly handles arrays, collections, maps, collections of arrays, and maps of arrays.static <T> Set<T> intersection(Collection<T> c1, Collection<T> c2) Returns the intersection of twoCollections as an unmodifiable set.static booleanisCaseInsensitiveMap(Map<?, ?> map) Returns true if the given map is a case-insensitive map.static booleanisCaseInsensitiveSet(Set<?> set) Returns true if the given set is a case-insensitive set.static <T> booleanisEmpty(Collection<T> c) Determine ifCollectionis empty or not, protects against null being passed in.Creates a case-insensitive map.Creates a case-insensitive set.static <T> List<T> newList(Collection<? extends T> c) Create a modifiable list from theCollectionprovided.static <T> List<T> newList(T... arr) Create a modifiable list from the arguments.newMap(Properties properties) static <T,K> Map <T, K> newMap(T[] k, K[] v) Builds a map from two arrays.static <T,K> Map <T, K> newMap(T k0, K v0) static <T,K> Map <T, K> newMap(T k0, K v0, T k1, K v1) static <T,K> Map <T, K> newMap(T k0, K v0, T k1, K v1, T k2, K v2) static <T,K> Map <T, K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3) static <T,K> Map <T, K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3, T k4, K v4) static <T,K> Map <T, K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3, T k4, K v4, T k5, K v5) static <T,K> Map <T, K> newMapFromLists(List<T> keys, List<K> values) Converts twoListto a map.static <T> List<T> newReadOnlyList(Collection<? extends T> c) Creates an unmodifiableListfrom a collection.static <T> List<T> newReadOnlyList(List<? extends T> list) static <T> List<T> newReadOnlyList(T... obj) Creates an unmodifiableListfrom a variable number arguments.static <T,K> Map <T, K> newReadOnlyMap(Map<T, K> map) static <T> Map<T, T> newReadOnlyMap(T[][] kv) static <T> Set<T> newReadOnlySet(Collection<T> c) Creates an unmodifiable set from aCollection.static <T> Set<T> newReadOnlySet(T... arr) Creates an unmodifiable set from a variable number arguments.static <T> Set<T> newSet(Collection<T> c) Creates a set that can be modified from theCollectionprovided.static <T> Set<T> newSet(T... arr) Creates a set that can be modified from the arguments.static <T extends Object & Comparable<? super T>>
List<T> newSortedList(Collection<? extends T> col) Create a modifiable sortedListbased on theCollectionprovided.static <T> Collection<T> nullAsEmpty(Collection<T> c) Protects fromnulland returns a new instance ofHashSet.static <T> List<T> nullAsEmpty(List<T> list) static <T,K> Map <T, K> nullAsEmpty(Map<T, K> map) static <T> Set<T> nullAsEmpty(Set<T> set) static <T> Set<T> union(Collection<T> c1, Collection<T> c2) Returns the union of twoCollections as an unmodifiable set.static <T> Collection<T> unique(Collection<T> c) UseHashSetto create a uniqueCollectionbased on the one passed in.
-
Method Details
-
newCaseInsensitiveSet
Creates a case-insensitive set.- Returns:
- An empty case-insensitive set
-
isCaseInsensitiveSet
Returns true if the given set is a case-insensitive set.- Parameters:
set- The set. May be null.- Returns:
- true if the given set is a case-insensitive set
-
newCaseInsensitiveMap
Creates a case-insensitive map.- Type Parameters:
T- The object type of the map- Returns:
- An empty case-insensitive map
-
isCaseInsensitiveMap
Returns true if the given map is a case-insensitive map.- Parameters:
map- The map. May be null.- Returns:
- true if the given map is a case-insensitive map
-
nullAsEmpty
Protects fromnulland returns a new instance ofHashSet. if the parameter c is null.- Type Parameters:
T- the type of the collection- Parameters:
c- collection to check- Returns:
- if null new
HashSetotherwise the parameter that was passed in or
-
nullAsEmpty
Protects fromnulland returns a new instance ofHashMapif the parametermapisnull. Otherwise return the parameter that was passed in. -
nullAsEmpty
Protects fromnulland returns a new instance ofHashSetif the parametersetisnull. Otherwise return the parameter that was passed in. -
nullAsEmpty
Protects fromnulland returns a new instance ofArrayListif the parameterlistisnull. Otherwise return the parameter that was passed in. -
isEmpty
Determine ifCollectionis empty or not, protects against null being passed in. -
unique
UseHashSetto create a uniqueCollectionbased on the one passed in. The method protects against null. The returnedCollectionis unmodifiable. -
newReadOnlyMap
-
asReadOnlyMap
-
newReadOnlyMap
-
newMapFromLists
Converts twoListto a map. The order is important here because each key will map to one value. -
newMap
-
newMap
-
newMap
-
newMap
-
newMap
-
newMap
-
newMap
public static <T,K> Map<T,K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3, T k4, K v4, T k5, K v5) -
newMap
Builds a map from two arrays.- Parameters:
k- Array of keys.v- Array of values.- Returns:
- a map based on the two arrays.
-
newSet
Creates a set that can be modified from theCollectionprovided. -
newSet
Creates a set that can be modified from the arguments. -
newReadOnlySet
Creates an unmodifiable set from a variable number arguments. -
newReadOnlySet
Creates an unmodifiable set from aCollection. -
union
Returns the union of twoCollections as an unmodifiable set. -
intersection
Returns the intersection of twoCollections as an unmodifiable set. -
newSortedList
public static <T extends Object & Comparable<? super T>> List<T> newSortedList(Collection<? extends T> col) Create a modifiable sortedListbased on theCollectionprovided. -
newList
Create a modifiable list from theCollectionprovided. The return value is backed by anArrayList. -
newList
Create a modifiable list from the arguments. The return value is backed by anArrayList. -
newReadOnlyList
-
newReadOnlyList
Creates an unmodifiableListfrom a variable number arguments. -
newReadOnlyList
Creates an unmodifiableListfrom a collection. -
asReadOnlyList
Returns a read-only list. The list is backed by the original so no copy is made.- Type Parameters:
T- The type of the list- Parameters:
list- The list or null.- Returns:
- A read-only proxy on the original list.
-
forceCompare
Forces the compare of two comparable objects and removes any warnings generated by the compiler.- Returns:
Comparablethe integer value of o1.compareTo(o2).
-
hashCode
hashCode function that properly handles arrays, collections, maps, collections of arrays, and maps of arrays.- Parameters:
o- The object. May be null.- Returns:
- the hashCode
-
equals
Equality function that properly handles arrays, lists, maps, lists of arrays, and maps of arrays.NOTE: For Sets, this relies on the equals method of the Set to do the right thing. This is a reasonable assumption since, in order for Sets to behave properly as Sets, their values must already have a proper implementation of equals. (Or they must be specialized Sets that define a custom comparator that knows how to do the right thing). The same holds true for Map keys. Map values, on the other hand, are compared (so Map values can be arrays).
- Parameters:
o1- The first object. May be null.o2- The second object. May be null.- Returns:
- true if the two objects are equal.
-