Package org.infinispan.commons.util
Class Immutables
java.lang.Object
org.infinispan.commons.util.Immutables
Factory for generating immutable type wrappers.
- Since:
- 4.0
- Author:
- Jason T. Greene, Galder ZamarreƱo, Tristan Tarrant
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic classstatic classstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Collection<T>immutableCollectionCopy(Collection<T> collection) Creates a new immutable copy of the specified Collection.static <T> Collection<T>immutableCollectionWrap(Collection<? extends T> collection) Wraps a collection with an immutable collection.static <K,V> Map.Entry<K, V> immutableEntry(Map.Entry<K, V> entry) static <K,V> Map.Entry<K, V> immutableEntry(K key, V value) Wraps a key and value with an immutableMap.Entry}.static <T> ImmutableListCopy<T>immutableListAdd(List<T> list, int position, T element) static <T> List<T>immutableListConvert(Collection<? extends T> source) Converts a Collection to an immutable List by copying it.static <T> List<T>immutableListCopy(List<T> list) Creates an immutable copy of the list.static <T> List<T>immutableListMerge(List<? extends T> list1, List<? extends T> list2) Creates a new immutable list containing the union (combined entries) of both lists.static <T> List<T>immutableListRemove(List<T> list, int position) static <T> ImmutableListCopy<T>immutableListReplace(List<T> list, int position, T element) static <T> List<T>immutableListWrap(T... array) Wraps an array with an immutable list.static <K,V> Map<K, V> immutableMapCopy(Map<K, V> map) Creates an immutable copy of the specified map.static <K,V> Map<K, V> immutableMapWrap(Map<? extends K, ? extends V> map) Wraps a map with an immutable map.static <T> Set<T>immutableSetConvert(Collection<? extends T> collection) Converts a Collections into an immutable Set by copying it.static <T> Set<T>immutableSetCopy(Set<T> set) Creates an immutable copy of the specified set.static <T> Set<T>immutableSetWrap(Set<? extends T> set) Wraps a set with an immutable set.static TypedPropertiesimmutableTypedProperties(TypedProperties properties) Creates an immutable copy of the properties.static booleanWhether or not this collection type is immutable
-
Constructor Details
-
Immutables
public Immutables()
-
-
Method Details
-
isImmutable
Whether or not this collection type is immutable- Parameters:
o- a Collection, Set, List, or Map- Returns:
- true if immutable, false if not
-
immutableListConvert
Converts a Collection to an immutable List by copying it.- Parameters:
source- the collection to convert- Returns:
- a copied/converted immutable list
-
immutableListCopy
Creates an immutable copy of the list.- Parameters:
list- the list to copy- Returns:
- the immutable copy
-
immutableTypedProperties
Creates an immutable copy of the properties.- Parameters:
properties- the TypedProperties to copy- Returns:
- the immutable copy
-
immutableListWrap
Wraps an array with an immutable list. There is no copying involved.- Parameters:
array- the array to wrap- Returns:
- a list containing the array
-
immutableListMerge
Creates a new immutable list containing the union (combined entries) of both lists.- Parameters:
list1- contains the first elements of the new listlist2- contains the successor elements of the new list- Returns:
- a new immutable merged copy of list1 and list2
-
immutableListAdd
-
immutableListReplace
-
immutableListRemove
-
immutableSetConvert
Converts a Collections into an immutable Set by copying it.- Parameters:
collection- the collection to convert/copy- Returns:
- a new immutable set containing the elements in collection
-
immutableSetWrap
Wraps a set with an immutable set. There is no copying involved.- Parameters:
set- the set to wrap- Returns:
- an immutable set wrapper that delegates to the original set
-
immutableSetCopy
Creates an immutable copy of the specified set.- Parameters:
set- the set to copy from- Returns:
- an immutable set copy
-
immutableMapWrap
Wraps a map with an immutable map. There is no copying involved.- Parameters:
map- the map to wrap- Returns:
- an immutable map wrapper that delegates to the original map
-
immutableMapCopy
Creates an immutable copy of the specified map.- Parameters:
map- the map to copy from- Returns:
- an immutable map copy
-
immutableCollectionCopy
Creates a new immutable copy of the specified Collection.- Parameters:
collection- the collection to copy- Returns:
- an immutable copy
-
immutableCollectionWrap
Wraps a collection with an immutable collection. There is no copying involved.- Parameters:
collection- the collection to wrap- Returns:
- an immutable collection wrapper that delegates to the original collection
-
immutableEntry
- Parameters:
entry- the mapping to wrap.- Returns:
- an immutable
Map.Entry} wrapper that delegates to the original mapping.
-
immutableEntry
Wraps a key and value with an immutableMap.Entry}. There is no copying involved.- Parameters:
key- the key to wrap.value- the value to wrap.- Returns:
- an immutable
Map.Entry} wrapper that delegates to the original mapping.
-