package org.tessell.gwt.user.client.ui; import static java.lang.Boolean.TRUE; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.event.shared.HandlerRegistration; public class StubSimpleCheckBox extends StubFocusWidget implements IsSimpleCheckBox { private String name; private String formValue; private Boolean value; public void check() { if (value != null && value.booleanValue()) { throw new RuntimeException(name + " is already checked"); } click(); } public void uncheck() { if (value == null || !value.booleanValue()) { throw new RuntimeException(name + " is not checked"); } click(); } public boolean isChecked() { return TRUE.equals(getValue()); } @Override public void click() { final Boolean newValue = (value == null) ? true : !value; setValue(newValue, true); super.click(); } @Override public String getName() { return name; } @Override public void setName(String name) { this.name = name; } @Override public void setValue(Boolean value) { setValue(value, true); } @Override public Boolean getValue() { return value; } @Override public String getFormValue() { return formValue; } @Override public void setFormValue(String formValue) { this.formValue = formValue; } @Override public void setValue(Boolean value, boolean fireEvents) { Boolean oldValue = getValue(); this.value = value; if (fireEvents) { ValueChangeEvent.fireIfNotEqual(this, oldValue, value); } } @Override public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Boolean> handler) { return handlers.addHandler(ValueChangeEvent.getType(), handler); } }