Class Lister<BeanT,PropT,ItemT,PackT>
- java.lang.Object
-
- com.sun.xml.bind.v2.runtime.reflect.Lister<BeanT,PropT,ItemT,PackT>
-
- Direct Known Subclasses:
Lister.CollectionLister
public abstract class Lister<BeanT,PropT,ItemT,PackT> extends java.lang.Object
Used to list individual values of a multi-value property, and to pack individual values into a multi-value property.- Author:
- Kohsuke Kawaguchi (kk@kohsuke.org)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Lister.CollectionLister<BeanT,T extends java.util.Collection>
Lister
for a collectionstatic class
Lister.IDREFSIterator
Iterator
for IDREFS lister.static class
Lister.Pack<ItemT>
-
Constructor Summary
Constructors Modifier Constructor Description protected
Lister()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
addToPack(PackT pack, ItemT newValue)
Once thestartPacking(BeanT, com.sun.xml.bind.v2.runtime.reflect.Accessor<BeanT, PropT>)
is called, you can add values to the pack by using this method.static <BeanT,PropT,ItemT,PackT>
Lister<BeanT,PropT,ItemT,PackT>create(java.lang.reflect.Type fieldType, ID idness, Adapter<java.lang.reflect.Type,java.lang.Class> adapter)
Gets a reference to the appropriateLister
object if the field is a multi-value field.abstract void
endPacking(PackT pack, BeanT bean, Accessor<BeanT,PropT> acc)
Finally, call this method to wraps up thepack
.static <A,B,C,D>
Lister<A,B,C,D>getErrorInstance()
Gets the specialLister
used to recover from an error.abstract ListIterator<ItemT>
iterator(PropT multiValueProp, XMLSerializer context)
Iterates values of a multi-value property.abstract void
reset(BeanT o, Accessor<BeanT,PropT> acc)
Clears the values of the property.abstract PackT
startPacking(BeanT bean, Accessor<BeanT,PropT> acc)
Setting values to a multi-value property starts by creating a transient object called "pack" from the current field.
-
-
-
Field Detail
-
ERROR
public static final Lister ERROR
-
-
Method Detail
-
iterator
public abstract ListIterator<ItemT> iterator(PropT multiValueProp, XMLSerializer context)
Iterates values of a multi-value property.- Parameters:
context
- This parameter is used to support ID/IDREF handling.
-
startPacking
public abstract PackT startPacking(BeanT bean, Accessor<BeanT,PropT> acc) throws AccessorException
Setting values to a multi-value property starts by creating a transient object called "pack" from the current field.- Throws:
AccessorException
-
addToPack
public abstract void addToPack(PackT pack, ItemT newValue) throws AccessorException
Once thestartPacking(BeanT, com.sun.xml.bind.v2.runtime.reflect.Accessor<BeanT, PropT>)
is called, you can add values to the pack by using this method.- Throws:
AccessorException
-
endPacking
public abstract void endPacking(PackT pack, BeanT bean, Accessor<BeanT,PropT> acc) throws AccessorException
Finally, call this method to wraps up thepack
. This method may update the field of the given bean.- Throws:
AccessorException
-
reset
public abstract void reset(BeanT o, Accessor<BeanT,PropT> acc) throws AccessorException
Clears the values of the property.- Throws:
AccessorException
-
create
public static <BeanT,PropT,ItemT,PackT> Lister<BeanT,PropT,ItemT,PackT> create(java.lang.reflect.Type fieldType, ID idness, Adapter<java.lang.reflect.Type,java.lang.Class> adapter)
Gets a reference to the appropriateLister
object if the field is a multi-value field. Otherwise null.- Parameters:
fieldType
- the type of the field that stores the collectionidness
- ID-ness of the property.adapter
- adapter to be used for individual items. can be null.
-
-