[ https://issues.apache.org/jira/browse/AVRO-1961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15691487#comment-15691487 ]
Clueless Joe commented on AVRO-1961: ------------------------------------ Hi Niels and all Thanks a lot for this issue, I was about to create it. >From what I've seen in your code, you plan to let the current getter/setter >and add a getOptionalFoo. Why letting the previous getter? Indeed, IMHO, the main goal of the optional is to make sure every developers knows a field can hold a null value. In the current template, there's no easy way to figure this out, so one can easily forget to handle nullity. IMHO this would the main thing to target when introducing Optional: to make sure there's no doubt about what can be null and what can't be null. By letting the current getter (which return nulls), the risk is still highly present. When regenerating pojos with your optional, then the code would still look right whereas in many cases the developer may have forgotten the value can be null. When activating your createOptionalGetters, what about only changing the getter to return Optional<Foo> instead of just Foo only when the field can have a null value? As such the IDE/type would make sure the developer handles the potential null values. For the setter, I've no opinion on the way to go. Currently we don't generate them. I guess changing the setter for potentially null values to setFoo(Optional<Foo> foo) would make sense again in terms of revealing the intent. Or maybe putting both, for convenience. Maybe the setter without an Optional could have its parameter name completed by "OrNull" to explicit the potential null value, for example setFoo(Foo fooOrNull). Whatever the choice made for the setter, we should then apply it as well to the builder. Eager to read you back Thanks again best cluelessjoe > [JAVA] Generate getters that return an Optional > ----------------------------------------------- > > Key: AVRO-1961 > URL: https://issues.apache.org/jira/browse/AVRO-1961 > Project: Avro > Issue Type: New Feature > Reporter: Niels Basjes > Assignee: Niels Basjes > Priority: Minor > > A colleague of mine indicated that having getters that return an Optional > (java 8 thingy) would be very useful for him. -- This message was sent by Atlassian JIRA (v6.3.4#6332)