Cool! Thanks again! Remko
> On May 29, 2018, at 14:26, Paul King <pa...@asert.com.au> wrote: > > LGTM! > >> On Tue, May 29, 2018 at 2:17 PM, Remko Popma <remko.po...@gmail.com> wrote: >> Thanks for the clarification. I’ve made some changes based on your feedback. >> >> Please let me know if you spot any more. >> >> Thanks! >> Remko >> >> (Shameless plug) Every java main() method deserves http://picocli.info >> >>> On May 29, 2018, at 12:25, Paul King <pa...@asert.com.au> wrote: >>> >>> >>> >>>> On Tue, May 29, 2018 at 9:43 AM, Remko Popma <remko.po...@gmail.com> wrote: >>>> Paul, >>>> >>>> I’ll change “annotating properties” to “annotating fields”. >>> >>> I was suggesting the other way around. Field-like declarations in Groovy >>> without an explicit visibility modifier are properties. That's what your >>> examples show. >>> >>>> About “getter methods for interfaces” and “setter methods for >>>> implementation classes”, I need to think about this some more but the >>>> distinction is important. >>>> >>>> The annotations can be a bit “magic” for users who don’t know the details >>>> of what happens under the hood. >>>> >>>> Without clear documentation users may try to use the annotations on the >>>> “getter” method of an implementation class. >>>> >>>> I’ll try to improve the wording but the analogy with JavaBeans is actually >>>> helpful rather than confusing, I think. Why do you think this analogy >>>> should be avoided? >>> >>> Other people may have a different understanding but I normally see setters >>> as the term used for methods like setFoo, setBar, setBaz, etc. So that's >>> exactly what we want it to mean for implementation classes. The setters >>> will be there either explicitly or for all non readonly properties which >>> will have automatic setters. >>> >>> The term "getters" is for methods like getFoo, getBar, getBaz etc. The >>> interfaces you are showing don't have such methods, e.g. help(), users(), >>> remaining(). There aren't setters, just interface methods. >>> >>> Paul. >>> >>> >>>> >>>> Remko >>>> >>>> (Shameless plug) Every java main() method deserves http://picocli.info >>>> >>>>> On May 29, 2018, at 4:11, Paul King <pa...@asert.com.au> wrote: >>>>> >>>>> Looks great! >>>>> >>>>> Two minor points (and they are possibly flaws that also exist in the >>>>> Groovy doco - I haven't checked): >>>>> * I wouldn't use the term "getter methods of an interface", I'd just use >>>>> "methods of an interface". To avoid confusion with getter methods of >>>>> JavaBean style classes. >>>>> * I would use "annotating properties or setter methods" rather than >>>>> "annotating fields or setter methods" >>>>> >>>>> Cheers, Paul. >>>>> >>>>> >>>>>> On Tue, May 29, 2018 at 3:03 AM, Remko Popma <remko.po...@gmail.com> >>>>>> wrote: >>>>>> All, >>>>>> >>>>>> I polished the Groovy 2.5 CliBuilder article some more >>>>>> (https://github.com/remkop/picocli/wiki/Groovy-2.5-CliBuilder-Renewal ). >>>>>> >>>>>> Feedback (positive or negative) would be great. >>>>>> >>>>>>> On Tue, May 15, 2018 at 11:40 PM, Remko Popma <remko.po...@gmail.com> >>>>>>> wrote: >>>>>>> Hi everyone, >>>>>>> >>>>>>> I finished a first draft of an article on Groovy 2.5 CliBuilder >>>>>>> (https://github.com/remkop/picocli/wiki/Groovy-2.5-CliBuilder-Renewal). >>>>>>> >>>>>>> I plan to publish this on DZone and Java Code Geeks when complete. >>>>>>> >>>>>>> I'd appreciate your feedback and suggestions for improvement! >>>>>>> >>>>>>> Remko >>>>>> >>>>> >>> >