ive recently ran into a few cases where while implementing ajaxfallbacklink i forgot to test the passed in request target for null, causing NPEs when the app was accessed from browsers where ajax failed for whatever reason.
with all this talk of scala recently i figured why not try and translate one of the feature i really like in scala Option/Null/Some to our code base. i came up with a simple value class: https://gist.github.com/c38456ee75fed541c932 and changed the ajaxfallbacklink to use it https://gist.github.com/2f648c7feacacf18fc40 the cascade from this change was pretty impressive, a lot of places in our code support passing a possibly null request target but make no mention of it: https://gist.github.com/d9933e24c21f061c6ac2 so advantages: makes possible null value handling explicit no more checking the javadoc to see if the method supports null as a parameter value or ever returns a null an api break before 1.5 rc1 i think overall makes lives of wicket users easier disadvantages: a bit wordier code an api break just about when we are ready to release 1.5 m4/rc1 whatever we call it yay or nay? obviously if we say yay there are a lot more places in our code that can benefit from this -igor