com.fasterxml.jackson.jr.ob.impl
Class CollectionBuilder

java.lang.Object
  extended by com.fasterxml.jackson.jr.ob.impl.CollectionBuilder
Direct Known Subclasses:
CollectionBuilder.Default

public abstract class CollectionBuilder
extends Object

Helper class that is used for constructing Collections to map JSON Array values in.

Objects server both as "factories" for creating new builders (blueprint style), and as actual builders. For each distinct read operation, newBuilder(int) will be called at least once; this instance may be used and reused multiple times, as calling start() will reset the state so that more Collections may be built.


Nested Class Summary
static class CollectionBuilder.Default
          Default CollectionBuilder implementation, which uses ArrayList as the type of List to build, unless instructed otherwise.
 
Field Summary
protected  Class<?> _collectionType
          Optional Collection implementation class, used when specific implementation is desired.
protected  int _features
           
protected static Object[] EMPTY_ARRAY
           
 
Constructor Summary
protected CollectionBuilder(int features, Class<?> collImpl)
           
 
Method Summary
abstract  CollectionBuilder add(Object value)
           
 Object[] buildArray()
          Alternative build method used when desired result type is Object[]
<T> T[]
buildArray(Class<T> type)
           
abstract  Collection<Object> buildCollection()
          The usual build method to use for constructing Collection
static CollectionBuilder defaultImpl()
          Factory method for getting a blueprint instance of the default CollectionBuilder implementation.
 Object[] emptyArray()
          Specialized method that is called when an empty Object[] needs to be returned.
<T> T[]
emptyArray(Class<T> type)
           
 Collection<Object> emptyCollection()
          Specialized method that is called when an empty Collection needs to be constructed; this may be a new Collection, or an immutable shared one, depending on implementation.
 boolean isEnabled(JSON.Feature f)
           
 CollectionBuilder newBuilder()
           
abstract  CollectionBuilder newBuilder(Class<?> collImpl)
           
abstract  CollectionBuilder newBuilder(int features)
           
<T> T[]
singletonArray(Class<T> type, T value)
           
 Object[] singletonArray(Object value)
          Specialized method that is called when a single-entry array needs to be constructed.
 Collection<Object> singletonCollection(Object value)
          Specialized method that is called when a single-entry Collection needs to be constructed.
abstract  CollectionBuilder start()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_ARRAY

protected static final Object[] EMPTY_ARRAY

_features

protected final int _features

_collectionType

protected final Class<?> _collectionType
Optional Collection implementation class, used when specific implementation is desired.

Constructor Detail

CollectionBuilder

protected CollectionBuilder(int features,
                            Class<?> collImpl)
Method Detail

defaultImpl

public static CollectionBuilder defaultImpl()
Factory method for getting a blueprint instance of the default CollectionBuilder implementation.


newBuilder

public abstract CollectionBuilder newBuilder(int features)

newBuilder

public abstract CollectionBuilder newBuilder(Class<?> collImpl)

newBuilder

public CollectionBuilder newBuilder()

isEnabled

public final boolean isEnabled(JSON.Feature f)

start

public abstract CollectionBuilder start()

add

public abstract CollectionBuilder add(Object value)

buildCollection

public abstract Collection<Object> buildCollection()
The usual build method to use for constructing Collection


buildArray

public Object[] buildArray()
Alternative build method used when desired result type is Object[]


buildArray

public <T> T[] buildArray(Class<T> type)

emptyCollection

public Collection<Object> emptyCollection()
Specialized method that is called when an empty Collection needs to be constructed; this may be a new Collection, or an immutable shared one, depending on implementation.

Default implementation simply calls:

  start().buildCollection();


emptyArray

public Object[] emptyArray()
Specialized method that is called when an empty Object[] needs to be returned.

Default implementation simply returns a shared empty array instance.


emptyArray

public <T> T[] emptyArray(Class<T> type)

singletonCollection

public Collection<Object> singletonCollection(Object value)
Specialized method that is called when a single-entry Collection needs to be constructed.

Default implementation simply calls:

  start().add(value).buildCollection();


singletonArray

public Object[] singletonArray(Object value)
Specialized method that is called when a single-entry array needs to be constructed.

Default implementation simply returns equivalent of:

   new Object[] { value }


singletonArray

public <T> T[] singletonArray(Class<T> type,
                              T value)


Copyright © 2016 FasterXML. All rights reserved.