public class AwsSchemaProvider extends GetterBasedSchemaProvider
SdkPojo models using the provided field metadata (@see SdkPojo.sdkFields()) rather than reflection.
Note: Beam doesn't support self-referential schemas. Some AWS models are not compatible with
schemas for that reason and require a dedicated coder, such as DynamoDB AttributeValue (coder).
| Constructor and Description |
|---|
AwsSchemaProvider() |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<FieldValueGetter> |
fieldValueGetters(java.lang.Class<?> clazz,
Schema schema)
Implementing class should override to return FieldValueGetters.
|
java.util.List<FieldValueTypeInformation> |
fieldValueTypeInformations(java.lang.Class<?> cls,
Schema schema)
Implementing class should override to return a list of type-informations.
|
<T> SerializableFunction<Row,T> |
fromRowFunction(TypeDescriptor<T> type)
Given a type, returns a function that converts from a
Row object to that type. |
<T> @Nullable Schema |
schemaFor(TypeDescriptor<T> type)
Lookup a schema for the given type.
|
SchemaUserTypeCreator |
schemaTypeCreator(java.lang.Class<?> cls,
Schema schema)
Implementing class should override to return a constructor.
|
equals, hashCode, toRowFunctionpublic <T> @Nullable Schema schemaFor(TypeDescriptor<T> type)
SchemaProviderpublic java.util.List<FieldValueGetter> fieldValueGetters(java.lang.Class<?> clazz, Schema schema)
GetterBasedSchemaProviderfieldValueGetters in class GetterBasedSchemaProviderpublic <T> SerializableFunction<Row,T> fromRowFunction(TypeDescriptor<T> type)
SchemaProviderRow object to that type. If no
schema exists, returns null.fromRowFunction in interface SchemaProviderfromRowFunction in class GetterBasedSchemaProviderpublic java.util.List<FieldValueTypeInformation> fieldValueTypeInformations(java.lang.Class<?> cls, Schema schema)
GetterBasedSchemaProviderfieldValueTypeInformations in class GetterBasedSchemaProviderpublic SchemaUserTypeCreator schemaTypeCreator(java.lang.Class<?> cls, Schema schema)
GetterBasedSchemaProviderschemaTypeCreator in class GetterBasedSchemaProvider