org.joda.beans.ser
Class GuavaSerIteratorFactory

java.lang.Object
  extended by org.joda.beans.ser.SerIteratorFactory
      extended by org.joda.beans.ser.GuavaSerIteratorFactory
Direct Known Subclasses:
CollectSerIteratorFactory

public class GuavaSerIteratorFactory
extends SerIteratorFactory

Guava factory used to create wrappers around collection-like objects.


Field Summary
 
Fields inherited from class org.joda.beans.ser.SerIteratorFactory
EMPTY_VALUE_TYPES, INSTANCE
 
Constructor Summary
GuavaSerIteratorFactory()
           
 
Method Summary
static SerIterator biMap(com.google.common.collect.BiMap<?,?> map, Class<?> declaredType, Class<?> keyType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterator wrapper for BiMap.
static SerIterable biMap(Class<?> keyType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterable wrapper for BiMap.
 SerIterator create(Object value, MetaProperty<?> prop, Class<?> beanClass)
          Creates an iterator wrapper for a meta-property value.
 SerIterator createChild(Object value, SerIterator parent)
          Creates an iterator wrapper for a value retrieved from a parent iterator.
 SerIterable createIterable(MetaProperty<?> prop, Class<?> beanClass)
          Creates an iterator wrapper for a meta-property value.
 SerIterable createIterable(String metaTypeDescription, JodaBeanSer settings, Map<String,Class<?>> knownTypes)
          Creates an iterator wrapper for a meta-property value.
static SerIterable listMultimap(Class<?> keyType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterable wrapper for ListMultimap.
static SerIterator multimap(com.google.common.collect.Multimap<?,?> map, Class<?> declaredType, Class<?> keyType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterator wrapper for Multimap.
static SerIterable multiset(Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterable wrapper for Multiset.
static SerIterator multiset(com.google.common.collect.Multiset<?> multiset, Class<?> declaredType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterator wrapper for Multiset.
static SerIterable setMultimap(Class<?> keyType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterable wrapper for SetMultimap.
static SerIterable sortedMultiset(Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterable wrapper for SortedMultiset.
static SerIterable table(Class<?> rowType, Class<?> colType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterable wrapper for Table.
static SerIterator table(com.google.common.collect.Table<?,?,?> table, Class<?> declaredType, Class<?> rowType, Class<?> colType, Class<?> valueType, List<Class<?>> valueTypeTypes)
          Gets an iterator wrapper for Table.
 
Methods inherited from class org.joda.beans.ser.SerIteratorFactory
array, array, collection, createIterable, defaultToObjectClass, list, map, map, navigableMap, navigableSet, set, sortedMap, sortedSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GuavaSerIteratorFactory

public GuavaSerIteratorFactory()
Method Detail

create

public SerIterator create(Object value,
                          MetaProperty<?> prop,
                          Class<?> beanClass)
Creates an iterator wrapper for a meta-property value.

Overrides:
create in class SerIteratorFactory
Parameters:
value - the possible collection-like object, not null
prop - the meta-property defining the value, not null
beanClass - the class of the bean, not the meta-property, for better generics, not null
Returns:
the iterator, null if not a collection-like type

createChild

public SerIterator createChild(Object value,
                               SerIterator parent)
Creates an iterator wrapper for a value retrieved from a parent iterator.

Allows the parent iterator to define the child iterator using generic type information. This handles cases such as a List as the value in a Map.

Overrides:
createChild in class SerIteratorFactory
Parameters:
value - the possible collection-like object, not null
parent - the parent iterator, not null
Returns:
the iterator, null if not a collection-like type

createIterable

public SerIterable createIterable(String metaTypeDescription,
                                  JodaBeanSer settings,
                                  Map<String,Class<?>> knownTypes)
Creates an iterator wrapper for a meta-property value.

Overrides:
createIterable in class SerIteratorFactory
Parameters:
metaTypeDescription - the description of the collection type, not null
settings - the settings object, not null
knownTypes - the known types map, null if not using known type shortening
Returns:
the iterator, null if not a collection-like type

createIterable

public SerIterable createIterable(MetaProperty<?> prop,
                                  Class<?> beanClass)
Creates an iterator wrapper for a meta-property value.

Overrides:
createIterable in class SerIteratorFactory
Parameters:
prop - the meta-property defining the value, not null
beanClass - the class of the bean, not the meta-property, for better generics, not null
Returns:
the iterator, null if not a collection-like type

biMap

public static final SerIterable biMap(Class<?> keyType,
                                      Class<?> valueType,
                                      List<Class<?>> valueTypeTypes)
Gets an iterable wrapper for BiMap.

Parameters:
keyType - the value type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterable, not null

multiset

public static final SerIterable multiset(Class<?> valueType,
                                         List<Class<?>> valueTypeTypes)
Gets an iterable wrapper for Multiset.

Parameters:
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterable, not null

sortedMultiset

public static final SerIterable sortedMultiset(Class<?> valueType,
                                               List<Class<?>> valueTypeTypes)
Gets an iterable wrapper for SortedMultiset.

Parameters:
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterable, not null

multiset

public static final SerIterator multiset(com.google.common.collect.Multiset<?> multiset,
                                         Class<?> declaredType,
                                         Class<?> valueType,
                                         List<Class<?>> valueTypeTypes)
Gets an iterator wrapper for Multiset.

Parameters:
multiset - the collection, not null
declaredType - the declared type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterator, not null

listMultimap

public static final SerIterable listMultimap(Class<?> keyType,
                                             Class<?> valueType,
                                             List<Class<?>> valueTypeTypes)
Gets an iterable wrapper for ListMultimap.

Parameters:
keyType - the key type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterable, not null

setMultimap

public static final SerIterable setMultimap(Class<?> keyType,
                                            Class<?> valueType,
                                            List<Class<?>> valueTypeTypes)
Gets an iterable wrapper for SetMultimap.

Parameters:
keyType - the key type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterable, not null

multimap

public static final SerIterator multimap(com.google.common.collect.Multimap<?,?> map,
                                         Class<?> declaredType,
                                         Class<?> keyType,
                                         Class<?> valueType,
                                         List<Class<?>> valueTypeTypes)
Gets an iterator wrapper for Multimap.

Parameters:
map - the collection, not null
declaredType - the declared type, not null
keyType - the key type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterator, not null

table

public static final SerIterable table(Class<?> rowType,
                                      Class<?> colType,
                                      Class<?> valueType,
                                      List<Class<?>> valueTypeTypes)
Gets an iterable wrapper for Table.

Parameters:
rowType - the row type, not null
colType - the column type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterable, not null

table

public static final SerIterator table(com.google.common.collect.Table<?,?,?> table,
                                      Class<?> declaredType,
                                      Class<?> rowType,
                                      Class<?> colType,
                                      Class<?> valueType,
                                      List<Class<?>> valueTypeTypes)
Gets an iterator wrapper for Table.

Parameters:
table - the collection, not null
declaredType - the declared type, not null
rowType - the row type, not null
colType - the col type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterator, not null

biMap

public static final SerIterator biMap(com.google.common.collect.BiMap<?,?> map,
                                      Class<?> declaredType,
                                      Class<?> keyType,
                                      Class<?> valueType,
                                      List<Class<?>> valueTypeTypes)
Gets an iterator wrapper for BiMap.

Parameters:
map - the collection, not null
declaredType - the declared type, not null
keyType - the value type, not null
valueType - the value type, not null
valueTypeTypes - the generic parameters of the value type
Returns:
the iterator, not null


Copyright © 2007–2015 Joda.org. All rights reserved.