public class MyEvent extends GwtEvent<MyEvent.Handler>{ public static enum EventTypes { THIS_EVENT, THAT_EVENT; }; public interface Handler extends EventHandler { void onDispatch(MyEvent event); }
public static final GwtEvent.Type<Handler> TYPE = new GwtEvent.Type<>(); // NOSONAR
private final EventTypes type; public MyEvent(EventTypes type) { this.type = type; }
@Override public GwtEvent.Type<Handler> getAssociatedType() { return TYPE; } public EventTypes getType() { return type; }
@Override protected void dispatch(Handler handler) { handler.onDispatch(this); }}
--
You received this message because you are subscribed to a topic in the Google Groups "GWT Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/l0aEL5fsAok/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
I get what you say, and agree that its not a very good approach.But my concern is, For a huge application having around 200 events . Will I have to write 200 Event handlers, 200 Event Classes and Event types ?
Improvising Noah code to send different Data as well.
public class MyEvent<T> extends GwtEvent<MyEvent.Handler>
{
public static enum EventTypes
{
THIS_EVENT,
THAT_EVENT;
};
public interface Handler<T> extends EventHandler
{
void onDispatch(MyEvent<T> event);
}
public static final GwtEvent.Type<Handler> TYPE = new GwtEvent.Type<>(); // NOSONAR
private final EventTypes type;
private T result;
public MyEvent(EventTypes type, T result)
{
this.type = type;
this.result = result;
}
@Override
public GwtEvent.Type<Handler> getAssociatedType()
{
return TYPE;
}
public EventTypes getType()
{
return type;
}
@Override
protected void dispatch(Handler handler)
{
handler.onDispatch(this);
}
/**
*
* @return result
*/
public T getResult() {
return result;
}
}