package org.droiddraw.property; import java.beans.PropertyChangeEvent; public class BooleanProperty extends Property { boolean value; boolean defaultValue; public BooleanProperty(String englishName, String attName, boolean defaultValue) { this(englishName, attName, defaultValue, true); this.defaultValue = defaultValue; } public BooleanProperty(String englishName, String attName, boolean defaultValue, boolean editable) { super(englishName, attName, editable); this.value = defaultValue; } @Override protected boolean isDefaultInternal() { return value == defaultValue; } @Override public Object getValue() { if (value) return "true"; else return "false"; } public boolean getBooleanValue() { return value; } public void setBooleanValue(boolean b) { boolean old = value; this.value = b; firePropertyChangedEvent(new PropertyChangeEvent(this, this.getAtttributeName(), old, b)); } @Override public void setValue(String value) { if ("true".equals(value)) { setBooleanValue(true); } else if ("false".equals(value)) { setBooleanValue(false); } } }