org.jboss.cache.util
Class Immutables

java.lang.Object
  extended by org.jboss.cache.util.Immutables

public class Immutables
extends Object

Factory for generating immutable type wrappers.

Author:
Jason T. Greene

Nested Class Summary
static interface Immutables.Immutable
           
 
Constructor Summary
Immutables()
           
 
Method Summary
static
<T> Collection<T>
immutableCollectionCopy(Collection<? extends T> collection)
          Creates a new immutable copy of the specified Collection.
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<? extends 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>
immutableListWrap(T... array)
          Wraps an array with an immutable list.
static
<K,V> Map<K,V>
immutableMapCopy(Map<? extends K,? extends 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<? extends 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 boolean isImmutable(Object o)
          Whether or not this collection type is immutable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Immutables

public Immutables()
Method Detail

isImmutable

public static boolean isImmutable(Object o)
Whether or not this collection type is immutable

Parameters:
o - a Collection, Set, List, or Map
Returns:
true if immutable, false if not

immutableListConvert

public static <T> List<T> immutableListConvert(Collection<? extends T> source)
Converts a Collection to an immutable List by copying it.

Parameters:
source - the collection to convert
Returns:
a copied/converted immutable list

immutableListCopy

public static <T> List<T> immutableListCopy(List<? extends T> list)
Creates an immutable copy of the list.

Parameters:
list - the list to copy
Returns:
the immutable copy

immutableListWrap

public static <T> List<T> immutableListWrap(T... array)
Wraps an array with an immutable list. There is no copying involved.

Type Parameters:
T -
Parameters:
array - the array to wrap
Returns:
a list containing the array

immutableListMerge

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

Parameters:
list1 - contains the first elements of the new list
list2 - contains the successor elements of the new list
Returns:
a new immutable merged copy of list1 and list2

immutableSetConvert

public static <T> Set<T> immutableSetConvert(Collection<? extends T> collection)
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

public static <T> Set<T> immutableSetWrap(Set<? extends T> set)
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

public static <T> Set<T> immutableSetCopy(Set<? extends T> set)
Creates an immutable copy of the specified set.

Parameters:
set - the set to copy from
Returns:
an immutable set copy

immutableMapWrap

public static <K,V> Map<K,V> immutableMapWrap(Map<? extends K,? extends V> map)
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

public static <K,V> Map<K,V> immutableMapCopy(Map<? extends K,? extends V> map)
Creates an immutable copy of the specified map.

Parameters:
map - the map to copy from
Returns:
an immutable map copy

immutableCollectionCopy

public static <T> Collection<T> immutableCollectionCopy(Collection<? extends T> collection)
Creates a new immutable copy of the specified Collection.

Parameters:
collection - the collection to copy
Returns:
an immutable copy


Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.