Module com.sun.xml.bind
Class Lister<BeanT,PropT,ItemT,PackT>
- java.lang.Object
-
- org.glassfish.jaxb.runtime.v2.runtime.reflect.Lister<BeanT,PropT,ItemT,PackT>
-
- Direct Known Subclasses:
Lister.CollectionLister
public abstract class Lister<BeanT,PropT,ItemT,PackT> extends 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 classLister.CollectionLister<BeanT,T extends Collection>Listerfor a collectionstatic classLister.IDREFSIteratorIteratorfor IDREFS lister.static classLister.Pack<ItemT>
-
Constructor Summary
Constructors Modifier Constructor Description protectedLister()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidaddToPack(PackT pack, ItemT newValue)Once thestartPacking(BeanT, org.glassfish.jaxb.runtime.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(Type fieldType, ID idness, Adapter<Type,Class> adapter)Gets a reference to the appropriateListerobject if the field is a multi-value field.abstract voidendPacking(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 specialListerused to recover from an error.abstract ListIterator<ItemT>iterator(PropT multiValueProp, XMLSerializer context)Iterates values of a multi-value property.abstract voidreset(BeanT o, Accessor<BeanT,PropT> acc)Clears the values of the property.abstract PackTstartPacking(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, org.glassfish.jaxb.runtime.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(Type fieldType, ID idness, Adapter<Type,Class> adapter)
Gets a reference to the appropriateListerobject 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.
-
-