[
https://issues.apache.org/jira/browse/PIVOT-670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Greg Brown updated PIVOT-670:
-----------------------------
Component/s: (was: wtk)
Affects Version/s: (was: 1.5.2)
Fix Version/s: (was: 2.1)
That's a slippery slope. If we did that, we'd probably also want to make every
listener interface a generic, for consistency. I personally don't think it is
worth it. IMO, there's nothing wrong with casting when you know what type to
expect. Either way (cast or generic type), you're going to get a
ClassCastException if you do the wrong thing.
> Generic types for listeners
> ---------------------------
>
> Key: PIVOT-670
> URL: https://issues.apache.org/jira/browse/PIVOT-670
> Project: Pivot
> Issue Type: Improvement
> Environment: All
> Reporter: Frédéric VERGEZ
> Priority: Trivial
>
> Could listener interfaces have generic types ?
> This would allow to be type safe in methods, and avoid objects casting.
> For instance in a ComponentMouseListener:
> public interface ComponentMouseListener<T extends Component> {
> /**
> * Component mouse button listener adapter.
> */
> public static class Adapter implements ComponentMouseListener {
> @Override
> public boolean mouseMove(T component, int x, int y) {
> return false;
> }
> @Override
> public void mouseOver(T component) {
> }
> @Override
> public void mouseOut(T component) {
> }
> }
> /**
> * Called when the mouse is moved over a component.
> *
> * @param component
> * @param x
> * @param y
> *
> * @return
> * <tt>true</tt> to consume the event; <tt>false</tt> to allow it to
> * propagate.
> */
> public boolean mouseMove(T component, int x, int y);
> /**
> * Called when the mouse enters a component.
> *
> * @param component
> */
> public void mouseOver(T component);
> /**
> * Called when the mouse exits a component.
> *
> * @param component
> */
> public void mouseOut(T component);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.