org.jvnet.tiger_types
Class Lister<T>
java.lang.Object
org.jvnet.tiger_types.Lister<T>
public abstract class Lister<T>
- extends java.lang.Object
Abstracts away the process of creating a collection (array, List
, etc)
of items.
- Author:
- Kohsuke Kawaguchi
Field Summary |
java.lang.reflect.Type |
itemGenericType
|
java.lang.Class |
itemType
Type of the individual item |
protected java.util.Collection |
r
|
Constructor Summary |
protected |
Lister(java.lang.Class itemType,
java.lang.reflect.Type itemGenericType)
|
protected |
Lister(java.lang.Class itemType,
java.lang.reflect.Type itemGenericType,
java.util.Collection r)
|
Method Summary |
void |
add(java.lang.Object o)
|
static
|
create(java.lang.Class<T> c,
java.lang.reflect.Type t)
Creates a Lister instance that produces the given type. |
static Lister |
create(java.lang.reflect.Type t)
Creates a Lister instance that produces the given type. |
abstract T |
toCollection()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
itemType
public final java.lang.Class itemType
- Type of the individual item
itemGenericType
public final java.lang.reflect.Type itemGenericType
r
protected final java.util.Collection r
Lister
protected Lister(java.lang.Class itemType,
java.lang.reflect.Type itemGenericType)
Lister
protected Lister(java.lang.Class itemType,
java.lang.reflect.Type itemGenericType,
java.util.Collection r)
add
public void add(java.lang.Object o)
toCollection
public abstract T toCollection()
create
public static Lister create(java.lang.reflect.Type t)
- Creates a
Lister
instance that produces the given type.
create
public static <T> Lister<T> create(java.lang.Class<T> c,
java.lang.reflect.Type t)
- Creates a
Lister
instance 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.
Copyright © 2011. All Rights Reserved.