serialization by field Convention

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: 3.8.1
    • Component/s: POJO
    • None
    • Environment:
      JDK 8, Windows 10
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When serializing a POJO the properties are identified by** getter methods, *setter methods and* fields. (see http://mongodb.github.io/mongo-java-driver/3.6/bson/pojos/)

      If the POJO impl. contains non standard getter e.g.

      
      public class SomeClass {
      
      private String someField1;
      
      private String someField2;
      
       
      
      public String getSomeField1(){
      
        return someField1;
      
      }
      
       
      
      public String getSomeField2(){
      
        return someField2;
      
      }
      
       
      
      public Integer getCalculation(){
        // return some calculated value
      
      }
      
      }
      
      

      a property "calculation" with some value will be serialized which is not intendet. Sure, you can use some @BsonIgnore annotation to avoid that but you have to check the serialization bahaviour every time the POJO is extended by some get*() method. 

      Another issue is when integrating a given POJO with large amount of such non-standard get*() methods.

      It would be a great benefit to register some Convention which says: "serialize only the fields and ignore getter methods".

       

              Assignee:
              Ross Lawley
              Reporter:
              Vitali Pankraz
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: