JUtil

net.cscott.jutil
Class Factories

java.lang.Object
  extended by net.cscott.jutil.Factories

public final class Factories
extends Object

Factories consists exclusively of static methods that operate on or return CollectionFactorys.

Version:
$Id: Factories.java,v 1.8 2006-10-30 19:58:05 cananian Exp $
Author:
Felix S. Klock II

Field Summary
static ListFactory arrayListFactory
          Returns a ListFactory that generates ArrayLists.
static MapFactory hashMapFactory
          A MapFactory that generates HashMaps.
static SetFactory hashSetFactory
          A SetFactory that generates HashSets.
static SetFactory linearSetFactory
          A SetFactory that generates LinearSets backed by ArrayLists.
static MapFactory linkedHashMapFactory
          A MapFactory that generates LinkedHashMaps.
static SetFactory linkedHashSetFactory
          A SetFactory that generates LinkedHashSets.
static ListFactory linkedListFactory
          A ListFactory that generates LinkedLists.
static SetFactory treeSetFactory
          A SetFactory that generates TreeSets.
static SetFactory workSetFactory
          A SetFactory that generates WorkSets.
 
Method Summary
static
<V> ListFactory<V>
arrayListFactory()
           
static
<K extends Enum<K>,V>
MapFactory<K,V>
enumMapFactory(Class<K> enumClass)
          A MapFactory that generates EnumMaps.
static
<V extends Enum<V>>
SetFactory<V>
enumSetFactory(Class<V> enumClass)
          A SetFactory that generates EnumSets.
static
<K,V> MapFactory<K,V>
hashMapFactory()
           
static
<V> SetFactory<V>
hashSetFactory()
           
static
<V> SetFactory<V>
linearSetFactory()
           
static
<K,V> MapFactory<K,V>
linkedHashMapFactory()
           
static
<V> SetFactory<V>
linkedHashSetFactory()
           
static
<V> ListFactory<V>
linkedListFactory()
           
static
<K,V> SetFactory<Map.Entry<K,V>>
mapSetFactory(MapFactory<K,V> mf)
          Returns a SetFactory that generates MapSet views of maps generated by the given MapFactory.
static
<K,V> SetFactory<Map.Entry<K,V>>
multiMapSetFactory(MultiMapFactory<K,V> mf)
          Returns a SetFactory that generates MultiMapSet views of MultiMaps generated by the given MultiMapFactory.
static
<V> CollectionFactory<V>
noNullCollectionFactory(CollectionFactory<V> cf)
           
static
<V> CollectionFactory<V>
synchronizedCollectionFactory(CollectionFactory<V> cf)
          Returns a CollectionFactory that generates synchronized (thread-safe) Collections.
static
<V> ListFactory<V>
synchronizedListFactory(ListFactory<V> lf)
          Returns a ListFactory that generates synchronized (thread-safe) Lists.
static
<K,V> MapFactory<K,V>
synchronizedMapFactory(MapFactory<K,V> mf)
          Returns a MapFactory that generates synchronized (thread-safe) Maps.
static
<V> SetFactory<V>
synchronizedSetFactory(SetFactory<V> sf)
          Returns a SetFactory that generates synchronized (thread-safe) Sets.
static
<V> SetFactory<V>
treeSetFactory()
           
static
<V> SetFactory<V>
workSetFactory()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hashMapFactory

public static final MapFactory hashMapFactory
A MapFactory that generates HashMaps.


linkedHashMapFactory

public static final MapFactory linkedHashMapFactory
A MapFactory that generates LinkedHashMaps.


hashSetFactory

public static final SetFactory hashSetFactory
A SetFactory that generates HashSets.


linkedHashSetFactory

public static final SetFactory linkedHashSetFactory
A SetFactory that generates LinkedHashSets.


workSetFactory

public static final SetFactory workSetFactory
A SetFactory that generates WorkSets.


linearSetFactory

public static final SetFactory linearSetFactory
A SetFactory that generates LinearSets backed by ArrayLists.


treeSetFactory

public static final SetFactory treeSetFactory
A SetFactory that generates TreeSets.


linkedListFactory

public static final ListFactory linkedListFactory
A ListFactory that generates LinkedLists.


arrayListFactory

public static final ListFactory arrayListFactory
Returns a ListFactory that generates ArrayLists.

Method Detail

hashMapFactory

public static final <K,V> MapFactory<K,V> hashMapFactory()

linkedHashMapFactory

public static final <K,V> MapFactory<K,V> linkedHashMapFactory()

enumMapFactory

public static final <K extends Enum<K>,V> MapFactory<K,V> enumMapFactory(Class<K> enumClass)
A MapFactory that generates EnumMaps.


hashSetFactory

public static final <V> SetFactory<V> hashSetFactory()

linkedHashSetFactory

public static final <V> SetFactory<V> linkedHashSetFactory()

enumSetFactory

public static final <V extends Enum<V>> SetFactory<V> enumSetFactory(Class<V> enumClass)
A SetFactory that generates EnumSets.


workSetFactory

public static final <V> SetFactory<V> workSetFactory()

linearSetFactory

public static final <V> SetFactory<V> linearSetFactory()

treeSetFactory

public static final <V> SetFactory<V> treeSetFactory()

linkedListFactory

public static final <V> ListFactory<V> linkedListFactory()

arrayListFactory

public static final <V> ListFactory<V> arrayListFactory()

mapSetFactory

public static <K,V> SetFactory<Map.Entry<K,V>> mapSetFactory(MapFactory<K,V> mf)
Returns a SetFactory that generates MapSet views of maps generated by the given MapFactory. These can be passed in as arguments to a GenericMultiMap, for example, to make a multimap of maps.


multiMapSetFactory

public static <K,V> SetFactory<Map.Entry<K,V>> multiMapSetFactory(MultiMapFactory<K,V> mf)
Returns a SetFactory that generates MultiMapSet views of MultiMaps generated by the given MultiMapFactory. These can be passed in as arguments to a GenericMultiMap, for example, to make a multimap of multimaps.


synchronizedCollectionFactory

public static <V> CollectionFactory<V> synchronizedCollectionFactory(CollectionFactory<V> cf)
Returns a CollectionFactory that generates synchronized (thread-safe) Collections. The Collections generated are backed by the Collections generated by cf.

See Also:
Collections.synchronizedCollection(java.util.Collection)

synchronizedSetFactory

public static <V> SetFactory<V> synchronizedSetFactory(SetFactory<V> sf)
Returns a SetFactory that generates synchronized (thread-safe) Sets. The Sets generated are backed by the Sets generated by sf.

See Also:
Collections.synchronizedSet(java.util.Set)

synchronizedListFactory

public static <V> ListFactory<V> synchronizedListFactory(ListFactory<V> lf)
Returns a ListFactory that generates synchronized (thread-safe) Lists. The Lists generated are backed by the Lists generated by lf.

See Also:
Collections.synchronizedList(java.util.List)

synchronizedMapFactory

public static <K,V> MapFactory<K,V> synchronizedMapFactory(MapFactory<K,V> mf)
Returns a MapFactory that generates synchronized (thread-safe) Maps. The Maps generated are backed by the Map generated by mf.

See Also:
Collections.synchronizedMap(java.util.Map)

noNullCollectionFactory

public static <V> CollectionFactory<V> noNullCollectionFactory(CollectionFactory<V> cf)

JUtil

Copyright (c) 2006 C. Scott Ananian