sure, that's the clean way to do it, but it comes at the expense of possibly
breaking user code by surprise. 

i'm not sure how big of a deal this is. i've heard people talk about it, but
i'd be interested in some examples of how performance of this method has
been a problem for people. i've never run into it myself and if i did see it
in a profiler, i'd probably just cache the value in a Boolean. it's
literally just this little bit in your anonymous class:

Boolean visible = null;
public isVisible() {
    if (visible == null) {
        visible = // whatever boolean computation
    }
    return visible;
}

and then it disappears from the profiler and who cares about the rest.


Scott Swank wrote:
> 
> My idea what an inversion of that one:
> 
> Add a method to Component, such as isVisibleInternal() [no I don't
> love the name] that would cache the results of isVisible().  Then all
> code that currently calls isVisible() would be changed to call
> isVisibleInternal() instead.  Someone who really wanted non-cached
> visibility (seemingly the 1% case) could override isVisibleInternal(),
> but everyone else would get caching for free with their current code.
> 
> On Thu, Jan 15, 2009 at 2:35 PM, Jonathan Locke
> <jonathan.lo...@gmail.com> wrote:
>>
>>
>> well, one simple design that would avoid the reuse problem is:
>>
>> Boolean Component#isCachedVisible() { return null; }
>>
>> then override to use visibility caching and return true or false.
>> if you don't override you get the current functionality.
>> of course you need two more bits in Component to support this...
>> one for whether isCachedVisible returned non-null and another
>> for the value it returned.
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Why-you-should-not-override-isVisible-tp21474995p21490448.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to