package org.tessell.model.dsl; import java.util.ArrayList; import java.util.List; import com.google.gwt.event.shared.HandlerRegistration; /** Wraps multiple {@link HandlerRegistration}s and can revoke them all at once. */ public class HandlerRegistrations { private final List<HandlerRegistration> hrs = new ArrayList<HandlerRegistration>(); public HandlerRegistrations(HandlerRegistration... hrs) { for (HandlerRegistration hr : hrs) { this.hrs.add(hr); } } public void add(HandlerRegistration hr) { hrs.add(hr); } public void add(HandlerRegistrations hrs) { for (HandlerRegistration hr : hrs.hrs) { this.hrs.add(hr); } } public void remove() { for (HandlerRegistration hr : hrs) { if (hr != null) { hr.removeHandler(); } } } }