[ https://issues.apache.org/jira/browse/WICKET-6946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17479294#comment-17479294 ]
ASF subversion and git services commented on WICKET-6946: --------------------------------------------------------- Commit 860c803ba287b71c76a9096b3d2f8109ad694248 in wicket's branch refs/heads/wicket-9.x from Mathieu Mitchell [ https://gitbox.apache.org/repos/asf?p=wicket.git;h=860c803 ] WICKET-6946 Document limitations of overriding isVisible/isEnabled > isVisibleInHierarchy/isEnabledInHierarchy broken by isVisible/isEnabled > override > -------------------------------------------------------------------------------- > > Key: WICKET-6946 > URL: https://issues.apache.org/jira/browse/WICKET-6946 > Project: Wicket > Issue Type: Bug > Components: wicket-core > Reporter: Mathieu Mitchell > Priority: Major > > Currently, isVisibleInHierarchy and isEnabledInHierarchy can return invalid > values when isVisible or isEnabled is overridden. The problem is caused by > the caching done in isVisibleInHierarchy/isEnabledInHierarchy. Currently, the > cache is invalidated in setVisible/setEnabled. The cache invalidation is not > done when components are overriding isVisible/isEnabled. > Additionally, the documentation mentions impacts of overriding > isVisible/isEnabled when using "non-trivial" code, as the methods are called > multiple times and can slow down page rendering. > The best practices chapter mentions overriding isVisible/isEnabled as the > appropriate approach. Another best practices page mentions that a component > factory should not be used because it prevents overriding isVisible/isEnabled > in an anonymous class. > There is no clear warning that overriding isVisible/isEnabled can break > isVisibleInHierarchy/isEnabledInHierarchy when the returned value can change. > There is also no indication that overriding isVisible/isEnabled is not > recommended. -- This message was sent by Atlassian Jira (v8.20.1#820001)