anhldbk commented on a change in pull request #842:
URL: https://github.com/apache/avro/pull/842#discussion_r414276723
##########
File path: lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
##########
@@ -500,6 +582,37 @@ static boolean isNonStringMapSchema(Schema s) {
return false;
}
+ /**
+ * Get default value for a schema field. Derived classes can override this
+ * method to provide values based on object instantiation
+ *
+ * @param type Type
+ * @param field Field
+ * @param fieldSchema Schema of the field
+ * @return The default value
+ */
+ protected Object createSchemaDefaultValue(Type type, Field field, Schema
fieldSchema) {
+ Object defaultValue;
+ if (defaultGenerated) {
+ defaultValue = getOrCreateDefaultValue(type, field);
+ if (defaultValue != null) {
+ return defaultValue;
Review comment:
Yep, we should.
##########
File path: lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
##########
@@ -110,14 +112,96 @@ public static ReflectData get() {
}
/**
- * Cause a class to be treated as though it had an {@link Stringable}
- ** annotation.
+ * Cause a class to be treated as though it had an {@link Stringable} *
+ * annotation.
*/
public ReflectData addStringable(Class c) {
stringableClasses.add(c);
return this;
}
+ /**
+ * If this flag is set to true, default values for fields will be assigned
+ * dynamically using Java reflections. Let's call this feature `default
Review comment:
I fixed
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]