public class DefaultSchemaFactory extends java.lang.Object implements SchemaFactory
SchemaFactory interface. The purpose of
the factory is to create a row types given a list of getters.
Row type is represented by Schema which essentially is a
List<Pair<FieldName, Coder>>.
Getters (e.g. pojo field getters) are represented by FieldValueGetter interface,
which exposes the field's name (see FieldValueGetter.name())
and java type (see FieldValueGetter.type()).
This is the default factory implementation used in RowFactory.
In other cases, when mapping requires extra logic, another implentation of the
SchemaFactory should be used instead of this class.
| Constructor and Description |
|---|
DefaultSchemaFactory() |
| Modifier and Type | Method and Description |
|---|---|
Schema |
createSchema(java.lang.Iterable<FieldValueGetter> fieldValueGetters)
Uses
FieldValueGetter.name() as field names. |
public Schema createSchema(java.lang.Iterable<FieldValueGetter> fieldValueGetters)
FieldValueGetter.name() as field names.
Uses CoderRegistry.createDefault() to get coders for FieldValueGetter.type().createSchema in interface SchemaFactory