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


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