Making 'void' methods return 'this' doesn't prevent you to write each call in a new line. But gives others the choice to call it inline.
It could be a problem if Wicket's internal code used chaining extensively, but I find it very convenient to chain calls, specially when building the component tree for a page. If you break lines in the right places, Eclipse indents it beautifully, if configured to not automatically join lines. I'd love to see this adopted throughout the API, but it will break compatibility everywhere you override these void methods (not if you just use them). Which is much less than other kinds of change, but still... I really like backwards compatibility :) On Fri, Jan 31, 2014 at 1:15 PM, Nick Pratt <[email protected]> wrote: > Which would be perfectly fine if the JVM told you which specific method > invocation on a source code line with chained methods threw an exception. > While you can sometimes figure it out, you can't always, and an answer of > "if it happens again, we'll know how to fix it" just doesn't fly in certain > verticals. > > For our production code we don't allow it, and we strongly recommend that > our clients don't use it either. > > Perhaps I should log a RFE with Oracle. > > N > > > On Fri, Jan 31, 2014 at 9:32 AM, Martin Makundi < > [email protected]> wrote: > > > Java should natively chain all void instance methods... > > > > ** > > Martin > > > > > > 2014-01-31 Sven Meier <[email protected]> > > > > > I don't think it makes sense here: > > > In all of Wicket's code there's a single place only, where two metaData > > > entries are set consecutively. > > > > > > Sven > > > > > > > > > On 01/31/2014 03:08 PM, Martin Grigorov wrote: > > > > > >> Hi, > > >> > > >> What others think about > > https://issues.apache.org/jira/browse/WICKET-5459? > > >> Should Wicket use "return this" pattern where makes sense instead of > > >> 'void' > > >> return type ? > > >> > > >> One problem that I see is with: > > >> MyPage.doSomething() will/may return some base type of MyPage. > > >> I remember some trink for Java to make this simpler but AFAIR it > > involved > > >> some longer generics signature for the class that use it. > > >> > > >> > > >> > > >> Martin Grigorov > > >> Wicket Training and Consulting > > >> > > >> > > > > > >
