public class CollectionFactory
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
CollectionFactory.ConditionalCopySet<T>
a set implementation that uses a delegate collection for all read-only
operations and makes a copy if changes are attempted.
|
static class |
CollectionFactory.ThreadSafeConditionalCopySet<T>
this class behaves like ConditionalCopySet except it is designed to be
threadsafe; multiple thread access is regulated by a readwritelock;
modifications will create a copy based on SyncSet.
|
Constructor and Description |
---|
CollectionFactory() |
Modifier and Type | Method and Description |
---|---|
static <T> java.util.List<T> |
createList() |
static <K,V> java.util.Map<K,V> |
createMap() |
static <T> java.util.Set<T> |
createSet() |
static <T> java.util.Set<T> |
createSet(java.util.Collection<T> c) |
static <T> java.util.Set<T> |
createSet(int initialCapacity) |
static <T> java.util.Set<T> |
createSet(T... elements) |
static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> |
createSyncMap() |
static <T> java.util.Set<T> |
createSyncSet() |
static <T> java.util.Set<T> |
getCopyOnRequestSet(java.util.Collection<T> source) |
static <T> java.util.Set<T> |
getCopyOnRequestSetFromImmutableCollection(java.util.Collection<T> source) |
static <T> java.util.Set<T> |
getCopyOnRequestSetFromMutableCollection(java.util.Collection<T> source) |
static <T> java.util.Set<T> |
getThreadSafeCopyOnRequestSet(java.util.Set<T> source) |
static void |
setExpectedThreads(int value) |
public static void setExpectedThreads(int value)
value
- the number of expected threads that will access threadsafe
collections; useful for increasing the concurrency in
ConcurrentHashMapspublic static <T> java.util.Set<T> createSet()
public static <T> java.util.List<T> createList()
public static <T> java.util.Set<T> createSet(java.util.Collection<T> c)
c
- values to add to the setpublic static <T> java.util.Set<T> createSet(int initialCapacity)
initialCapacity
- initial capacity for the new setpublic static <K,V> java.util.Map<K,V> createMap()
public static <T> java.util.Set<T> createSet(T... elements)
elements
- values to add to the setpublic static <T> java.util.Set<T> createSyncSet()
public static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> createSyncMap()
public static <T> java.util.Set<T> getCopyOnRequestSet(java.util.Collection<T> source)
source
- the collection to lazily copypublic static <T> java.util.Set<T> getCopyOnRequestSetFromMutableCollection(java.util.Collection<T> source)
source
- public static <T> java.util.Set<T> getCopyOnRequestSetFromImmutableCollection(java.util.Collection<T> source)
source
- public static <T> java.util.Set<T> getThreadSafeCopyOnRequestSet(java.util.Set<T> source)
source
- initial values