[ 
https://issues.apache.org/jira/browse/WICKET-3776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Vaynberg resolved WICKET-3776.
-----------------------------------

    Resolution: Won't Fix
      Assignee: Igor Vaynberg

> Implement default onConfigure() using optional Predicate
> --------------------------------------------------------
>
>                 Key: WICKET-3776
>                 URL: https://issues.apache.org/jira/browse/WICKET-3776
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket-core
>    Affects Versions: 1.4.17
>            Reporter: Russell Morrisey
>            Assignee: Igor Vaynberg
>              Labels: ConfigurationPredicate, Predicate, component, 
> onConfigure, setEnabled, setVisible
>
> I would really like to see methods on Component to configure visible and 
> enabled state using a predicate pattern. Ex:
> interface ConfigurationPredicate<T extends Component> extends IDetachable {
>  boolean evaluate(T component);
> }
> ...
> DropDownChoice ddc = createDDC(); //my convenience method which sets standard 
> properties, creates a label for the component, and other stuff
> ddc.setVisibility(new ConfigurationPredicate<DropDownChoice>() {
>   public boolean evaluate(DropDownChoice component) {
>    myOtherComponent.configure();
>    return (myOtherComponent.isVisibleInHierarchy());
>   }
>   public void detach() {
>    myOtherComponent.detach();
>   }
> });
> Please consider creating an optional field on Component which can hold a 
> visibility predicate and an enabled state predicate. You can see the 
> advantage clearly in the code above: I don't have to inline my convenience 
> method. I would like composition to be used, instead of inheritance, so I 
> don't have to subclass DropDownChoice just to control the visibility.
> Thanks, guys!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to