Mercurial > dive4elements > river
diff flys-client/src/main/java/org/dive4elements/river/client/shared/model/DoubleProperty.java @ 5834:f507086aa94b
Repaired internal references.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 12:31:32 +0200 |
parents | flys-client/src/main/java/de/intevation/flys/client/shared/model/DoubleProperty.java@62332fa199bf |
children | 821a02bbfb4e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-client/src/main/java/org/dive4elements/river/client/shared/model/DoubleProperty.java Thu Apr 25 12:31:32 2013 +0200 @@ -0,0 +1,86 @@ +package de.intevation.flys.client.shared.model; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.i18n.client.NumberFormat; + +import java.util.HashMap; + +/** + * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> + */ +public class DoubleProperty extends PropertySetting { + + /** + * Create a new DoubleProperty for settings. + */ + public DoubleProperty() { + this.attributes = new HashMap<String, String>(); + } + + + /** + * Create a new DoubleProperty. + * @param name The attribute name. + * @param value The current value. + */ + public DoubleProperty( + String name, + Double value) + { + this.name = name; + this.value = value.toString(); + this.attributes = new HashMap<String, String>(); + } + + @Override + public Double getValue() { + try { + Double value = Double.valueOf(this.value); + GWT.log("returning: " + value); + return value; + } + catch(NumberFormatException nfe) { + //Should never happen, if property is used correctly. + return null; + } + } + + + public void setValueFromUI(String value) { + NumberFormat nf = NumberFormat.getDecimalFormat(); + double d; + try { + d = nf.parse(value); + GWT.log("setting " + value + " as " + d); + this.value = Double.toString(d); + } + catch(NumberFormatException nfe) {} + } + + public void setValue(Double value) { + this.value = value.toString(); + } + + + public String toUIString() { + double dv; + NumberFormat nf = NumberFormat.getDecimalFormat(); + try { + dv = Double.parseDouble(this.value); + } + catch (NumberFormatException nfe) { + return null; + } + return nf.format(dv); + } + + @Override + public Object clone() { + DoubleProperty clone = new DoubleProperty(this.getName(), + this.getValue()); + for(String s: this.getAttributeList()) { + clone.setAttribute(s, this.getAttribute(s)); + } + return clone; + } +}