merlimat commented on a change in pull request #3752: revise the schema default 
type not null
URL: https://github.com/apache/pulsar/pull/3752#discussion_r264964562
 
 

 ##########
 File path: 
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/Schema.java
 ##########
 @@ -167,25 +168,47 @@ default T decode(byte[] bytes, byte[] schemaVersion) {
     }
 
     /**
-     * Create a Avro schema type by extracting the fields of the specified 
class.
+     * Create a  Avro schema type by default configuration of the class
      *
      * @param clazz the POJO class to be used to extract the Avro schema
      * @return a Schema instance
      */
     static <T> Schema<T> AVRO(Class<T> clazz) {
-        return DefaultImplementation.newAvroSchema(clazz);
+        return DefaultImplementation.newAvroSchema(new 
SchemaDefinition<>(clazz));
     }
 
     /**
-     * Create a JSON schema type by extracting the fields of the specified 
class.
+     * Create a Avro schema type with schema definition
+     *
+     * @param schemaDefinition the definition of the schema
+     * @return a Schema instance
+     */
+    static <T> Schema<T> AVRO(SchemaDefinition<T> schemaDefinition) {
 
 Review comment:
   Instead of having the `SchemaDefinition<T>`, what about leaving the pojo and 
adding the options like: 
   
   ```java
   Schema.AVRO(MyObject.class, 
AvroDefinition.builder().allowNull(false).build());
   ```
   This could be extended in #3766  with: 
   
   ```java
   Schema.AVRO(MyObject.class, AvroDefinition.fromSchema("...json 
definition..."));
   ```

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to