package org.jbpm.formbuilder.client.bus.ui;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.GwtEvent;
public class HistoryStoreEvent extends GwtEvent<HistoryStoreHandler> {
public static final Type<HistoryStoreHandler> TYPE = new Type<HistoryStoreHandler>();
private final List<String> tokens = new ArrayList<String>();
private final ValueChangeHandler<String> valueChangeHandler;
public HistoryStoreEvent(String token) {
super();
this.tokens.add(token);
this.valueChangeHandler = null;
}
public HistoryStoreEvent(String... tokens) {
super();
if (tokens != null) {
for (String token : tokens) {
this.tokens.add(token);
}
}
this.valueChangeHandler = null;
}
public HistoryStoreEvent(ValueChangeHandler<String> valueChangeHandler) {
super();
this.valueChangeHandler = valueChangeHandler;
}
public List<String> getTokens() {
return tokens;
}
public ValueChangeHandler<String> getValueChangeHandler() {
return valueChangeHandler;
}
@Override
public Type<HistoryStoreHandler> getAssociatedType() {
return TYPE;
}
@Override
protected void dispatch(HistoryStoreHandler handler) {
handler.onEvent(this);
}
}