com.sun.xml.bind.v2.runtime.unmarshaller

Class Scope<BeanT,PropT,ItemT,PackT>

public final class Scope<BeanT,PropT,ItemT,PackT> extends Object

Holds the information about packing scope.

When no packing is started yet, all the fields should be set to null.

Field Summary
UnmarshallingContextcontext
Constructor Summary
Scope(UnmarshallingContext context)
Method Summary
voidadd(Accessor<BeanT,PropT> acc, Lister<BeanT,PropT,ItemT,PackT> lister, ItemT value)
Adds a new item to this packing scope.
voidfinish()
Finishes up the current packing in progress (if any) and resets this object.
booleanhasStarted()
Returns true if this scope object is filled by a packing in progress.
voidreset()
Initializes all the fields to null.
voidstart(Accessor<BeanT,PropT> acc, Lister<BeanT,PropT,ItemT,PackT> lister)
Starts the packing scope, without adding any item.

Field Detail

context

public final UnmarshallingContext context

Constructor Detail

Scope

Scope(UnmarshallingContext context)

Method Detail

add

public void add(Accessor<BeanT,PropT> acc, Lister<BeanT,PropT,ItemT,PackT> lister, ItemT value)
Adds a new item to this packing scope.

finish

public void finish()
Finishes up the current packing in progress (if any) and resets this object.

hasStarted

public boolean hasStarted()
Returns true if this scope object is filled by a packing in progress.

reset

public void reset()
Initializes all the fields to null.

start

public void start(Accessor<BeanT,PropT> acc, Lister<BeanT,PropT,ItemT,PackT> lister)
Starts the packing scope, without adding any item. This allows us to return an empty pack, thereby allowing the user to distinguish empty array vs null array.