## 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

`<T> Lister<T>`

`

`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`

Field Detail

### 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

Constructor Detail

### 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)

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 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.