Just to be clear - I'm not arguing against the concept of method chaining because of some stylistic / personal preference point, but from a practical production diagnostic point, when you need to be able to definitively fix the problem once, and once only. Pushing a temporary release out with additional logging (or breaking apart a method chain into separate method calls per line) that will assist you the *next* time the bug happens just isn't acceptable to some businesses - something I don't disagree with. It's for this reason, and this reason only, that we don't use method chaining. It's purely risk mitigation.
I logged the RFE with Oracle - who knows if I'm the first to log such a request, or whether anything will come of it. For comparison, look at the stack trace output from a simple C# program. Regards Nick On Fri, Jan 31, 2014 at 10:37 AM, tetsuo <ronald.tet...@gmail.com> wrote: > 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 <nbpr...@gmail.com> 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 < > > martin.maku...@koodaripalvelut.com> wrote: > > > > > Java should natively chain all void instance methods... > > > > > > ** > > > Martin > > > > > > > > > 2014-01-31 Sven Meier <s...@meiers.net> > > > > > > > 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 > > > >> > > > >> > > > > > > > > > >