Package org.jvnet.tiger_types
Class Lister<T>
- java.lang.Object
-
- org.jvnet.tiger_types.Lister<T>
-
public abstract class Lister<T> extends java.lang.ObjectAbstracts away the process of creating a collection (array,List, etc) of items.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Class[]CONCRETE_TYPESjava.lang.reflect.TypeitemGenericTypejava.lang.ClassitemTypeType of the individual itemprotected java.util.Collectionr
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.Object o)static <T> Lister<T>create(java.lang.Class<T> c, java.lang.reflect.Type t)Creates aListerinstance that produces the given type.static Listercreate(java.lang.reflect.Type t)Creates aListerinstance that produces the given type.abstract TtoCollection()private static java.lang.IllegalAccessErrortoError(java.lang.IllegalAccessException e)private static java.lang.InstantiationErrortoError(java.lang.InstantiationException e)
-
-
-
Method Detail
-
add
public void add(java.lang.Object o)
-
toCollection
public abstract T toCollection()
-
create
public static Lister create(java.lang.reflect.Type t)
Creates aListerinstance that produces the given type.
-
create
public static <T> Lister<T> create(java.lang.Class<T> c, java.lang.reflect.Type t)
Creates aListerinstance that produces the given type.- Parameters:
c- The erasure version of 't'. This is taken as a parameter as a performance optimizaiton.- Returns:
- null if the given type doesn't look like a collection.
- Throws:
java.lang.IllegalArgumentException- if the given type does look like a collection yet this implementation is not capable of how to handle it.
-
toError
private static java.lang.IllegalAccessError toError(java.lang.IllegalAccessException e)
-
toError
private static java.lang.InstantiationError toError(java.lang.InstantiationException e)
-
-