public abstract class

CollectionFactory

extends Object
java.lang.Object
   ↳ org.springframework.core.CollectionFactory

Class Overview

Factory for collections, being aware of Java 5 and Java 6 collections. Mainly for internal use within the framework.

The goal of this class is to avoid runtime dependencies on a specific Java version, while nevertheless using the best collection implementation that is available at runtime.

Summary

Public Constructors
CollectionFactory()
Public Methods
static Collection createApproximateCollection(Object collection, int initialCapacity)
Create the most approximate collection for the given collection.
static Map createApproximateMap(Object map, int initialCapacity)
Create the most approximate map for the given map.
static Collection createCollection(Class<?> collectionType, int initialCapacity)
Create the most appropriate collection for the given collection type.
static ConcurrentMap createConcurrentMap(int initialCapacity)
This method is deprecated. as of Spring 3.0, for usage on JDK 1.5 or higher
static Map createConcurrentMapIfPossible(int initialCapacity)
This method is deprecated. as of Spring 3.0, for usage on JDK 1.5 or higher
static <T> Set<T> createCopyOnWriteSet()
This method is deprecated. as of Spring 3.0, for usage on JDK 1.5 or higher
static Map createIdentityMapIfPossible(int initialCapacity)
This method is deprecated. as of Spring 2.5, for usage on JDK 1.4 or higher
static Map createLinkedCaseInsensitiveMapIfPossible(int initialCapacity)
This method is deprecated. as of Spring 3.0, for usage on JDK 1.5 or higher
static <K, V> Map<K, V> createLinkedMapIfPossible(int initialCapacity)
This method is deprecated. as of Spring 2.5, for usage on JDK 1.4 or higher
static <T> Set<T> createLinkedSetIfPossible(int initialCapacity)
This method is deprecated. as of Spring 2.5, for usage on JDK 1.4 or higher
static Map createMap(Class<?> mapType, int initialCapacity)
Create the most approximate map for the given map.
static boolean isApproximableCollectionType(Class<?> collectionType)
Determine whether the given collection type is an approximable type, i.e.
static boolean isApproximableMapType(Class<?> mapType)
Determine whether the given map type is an approximable type, i.e.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public CollectionFactory ()

Also: SpringCore

Public Methods

public static Collection createApproximateCollection (Object collection, int initialCapacity)

Also: SpringCore

Create the most approximate collection for the given collection.

Creates an ArrayList, TreeSet or linked Set for a List, SortedSet or Set, respectively.

Parameters
collection the original Collection object
initialCapacity the initial capacity
Returns
  • the new Collection instance
See Also
  • java.util.ArrayList
  • java.util.TreeSet
  • java.util.LinkedHashSet

public static Map createApproximateMap (Object map, int initialCapacity)

Also: SpringCore

Create the most approximate map for the given map.

Creates a TreeMap or linked Map for a SortedMap or Map, respectively.

Parameters
map the original Map object
initialCapacity the initial capacity
Returns
  • the new Map instance
See Also

public static Collection createCollection (Class<?> collectionType, int initialCapacity)

Also: SpringCore

Create the most appropriate collection for the given collection type.

Creates an ArrayList, TreeSet or linked Set for a List, SortedSet or Set, respectively.

Parameters
collectionType the desired type of the target Collection
initialCapacity the initial capacity
Returns
  • the new Collection instance
See Also
  • java.util.ArrayList
  • java.util.TreeSet
  • java.util.LinkedHashSet

public static ConcurrentMap createConcurrentMap (int initialCapacity)

Also: SpringCore

This method is deprecated.
as of Spring 3.0, for usage on JDK 1.5 or higher

Create a concurrent Map with a dedicated ConcurrentMap interface: This implementation always creates a java.util.concurrent.ConcurrentHashMap, since Spring 3.0 requires JDK 1.5 anyway.

Parameters
initialCapacity the initial capacity of the Map
Returns
  • the new ConcurrentMap instance

public static Map createConcurrentMapIfPossible (int initialCapacity)

Also: SpringCore

This method is deprecated.
as of Spring 3.0, for usage on JDK 1.5 or higher

Create a concurrent Map if possible: This implementation always creates a java.util.concurrent.ConcurrentHashMap, since Spring 3.0 requires JDK 1.5 anyway.

Parameters
initialCapacity the initial capacity of the Map
Returns
  • the new Map instance

public static Set<T> createCopyOnWriteSet ()

Also: SpringCore

This method is deprecated.
as of Spring 3.0, for usage on JDK 1.5 or higher

Create a copy-on-write Set (allowing for synchronization-less iteration) if possible: This implementation always creates a java.util.concurrent.CopyOnWriteArraySet, since Spring 3 requires JDK 1.5 anyway.

Returns
  • the new Set instance

public static Map createIdentityMapIfPossible (int initialCapacity)

Also: SpringCore

This method is deprecated.
as of Spring 2.5, for usage on JDK 1.4 or higher

Create an identity Map if possible: This implementation always creates a java.util.IdentityHashMap, since Spring 2.5 requires JDK 1.4 anyway.

Parameters
initialCapacity the initial capacity of the Map
Returns
  • the new Map instance

public static Map createLinkedCaseInsensitiveMapIfPossible (int initialCapacity)

Also: SpringCore

This method is deprecated.
as of Spring 3.0, for usage on JDK 1.5 or higher

Create a linked case-insensitive Map if possible: This implementation always returns a LinkedCaseInsensitiveMap.

Parameters
initialCapacity the initial capacity of the Map
Returns
  • the new Map instance

public static Map<K, V> createLinkedMapIfPossible (int initialCapacity)

Also: SpringCore

This method is deprecated.
as of Spring 2.5, for usage on JDK 1.4 or higher

Create a linked Map if possible: This implementation always creates a LinkedHashMap, since Spring 2.5 requires JDK 1.4 anyway.

Parameters
initialCapacity the initial capacity of the Map
Returns
  • the new Map instance

public static Set<T> createLinkedSetIfPossible (int initialCapacity)

Also: SpringCore

This method is deprecated.
as of Spring 2.5, for usage on JDK 1.4 or higher

Create a linked Set if possible: This implementation always creates a java.util.LinkedHashSet, since Spring 2.5 requires JDK 1.4 anyway.

Parameters
initialCapacity the initial capacity of the Set
Returns
  • the new Set instance

public static Map createMap (Class<?> mapType, int initialCapacity)

Also: SpringCore

Create the most approximate map for the given map.

Creates a TreeMap or linked Map for a SortedMap or Map, respectively.

Parameters
initialCapacity the initial capacity
Returns
  • the new Map instance
See Also

public static boolean isApproximableCollectionType (Class<?> collectionType)

Also: SpringCore

Determine whether the given collection type is an approximable type, i.e. a type that createApproximateCollection(Object, int) can approximate.

Parameters
collectionType the collection type to check
Returns
  • true if the type is approximable, false if it is not

public static boolean isApproximableMapType (Class<?> mapType)

Also: SpringCore

Determine whether the given map type is an approximable type, i.e. a type that createApproximateMap(Object, int) can approximate.

Parameters
mapType the map type to check
Returns
  • true if the type is approximable, false if it is not