public class JavaBeanSchema extends GetterBasedSchemaProviderV2
SchemaProvider for Java Bean objects.
 This provider finds (recursively) all public getters and setters in a Java object, and creates schemas and rows that bind to those fields. The field order in the schema is not guaranteed to match the method order in the class. The Java object is expected to have implemented a correct .equals() and .hashCode methods The equals method must be completely determined by the schema fields. i.e. if the object has hidden fields that are not reflected in the schema but are compared in equals, then results will be incorrect.
TODO: Validate equals() method is provided, and if not generate a "slow" equals method based on the schema.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | JavaBeanSchema.GetterTypeSupplierFieldValueTypeSupplierthat's based on getter methods. | 
| static class  | JavaBeanSchema.SetterTypeSupplierFieldValueTypeSupplierthat's based on setter methods. | 
| Constructor and Description | 
|---|
| JavaBeanSchema() | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(@Nullable java.lang.Object obj) | 
| <T> java.util.List<FieldValueGetter<T,java.lang.Object>> | fieldValueGetters(TypeDescriptor<T> targetTypeDescriptor,
                 Schema schema)Delegates to the  GetterBasedSchemaProvider.fieldValueGetters(Class, Schema)for backwards compatibility,
 override it if you want to use the richer type signature contained in theTypeDescriptornot subject to the type erasure. | 
| java.util.List<FieldValueTypeInformation> | fieldValueTypeInformations(TypeDescriptor<?> targetTypeDescriptor,
                          Schema schema)Delegates to the  GetterBasedSchemaProvider.fieldValueTypeInformations(Class, Schema)for backwards
 compatibility, override it if you want to use the richer type signature contained in theTypeDescriptornot subject to the type erasure. | 
| int | hashCode() | 
| <T> Schema | schemaFor(TypeDescriptor<T> typeDescriptor)Lookup a schema for the given type. | 
| SchemaUserTypeCreator | schemaTypeCreator(TypeDescriptor<?> targetTypeDescriptor,
                 Schema schema)Delegates to the  GetterBasedSchemaProvider.schemaTypeCreator(Class, Schema)for backwards compatibility,
 override it if you want to use the richer type signature contained in theTypeDescriptornot subject to the type erasure. | 
fieldValueGetters, fieldValueTypeInformations, schemaTypeCreatorfromRowFunction, toRowFunctionpublic <T> Schema schemaFor(TypeDescriptor<T> typeDescriptor)
SchemaProviderpublic <T> java.util.List<FieldValueGetter<T,java.lang.Object>> fieldValueGetters(TypeDescriptor<T> targetTypeDescriptor, Schema schema)
GetterBasedSchemaProviderGetterBasedSchemaProvider.fieldValueGetters(Class, Schema) for backwards compatibility,
 override it if you want to use the richer type signature contained in the TypeDescriptor not subject to the type erasure.fieldValueGetters in class GetterBasedSchemaProviderV2public java.util.List<FieldValueTypeInformation> fieldValueTypeInformations(TypeDescriptor<?> targetTypeDescriptor, Schema schema)
GetterBasedSchemaProviderGetterBasedSchemaProvider.fieldValueTypeInformations(Class, Schema) for backwards
 compatibility, override it if you want to use the richer type signature contained in the TypeDescriptor not subject to the type erasure.fieldValueTypeInformations in class GetterBasedSchemaProviderV2public SchemaUserTypeCreator schemaTypeCreator(TypeDescriptor<?> targetTypeDescriptor, Schema schema)
GetterBasedSchemaProviderGetterBasedSchemaProvider.schemaTypeCreator(Class, Schema) for backwards compatibility,
 override it if you want to use the richer type signature contained in the TypeDescriptor not subject to the type erasure.schemaTypeCreator in class GetterBasedSchemaProviderV2public int hashCode()
hashCode in class GetterBasedSchemaProviderpublic boolean equals(@Nullable java.lang.Object obj)
equals in class GetterBasedSchemaProvider