package org.ovirt.engine.ui.webadmin.plugin.jsni; import com.google.gwt.core.client.JavaScriptObject; /** * Extension of {@link JsObjectWithProperties} that allows setting typed properties. */ public abstract class JsMutableObjectWithProperties extends JsObjectWithProperties { protected JsMutableObjectWithProperties() { } /** * Sets the value for the given key as native JS object. */ protected final native void setValueAsJavaScriptObject(String key, JavaScriptObject value) /*-{ this[key] = value; }-*/; /** * Sets the value for the given key as String (maps to JS {@code string}). */ protected final native void setValueAsString(String key, String value) /*-{ this[key] = value; }-*/; /** * Sets the value for the given key as Double (maps to JS {@code number}). */ protected final native void setValueAsDouble(String key, Double value) /*-{ this[key] = value.@java.lang.Double::doubleValue()(); }-*/; /** * Sets the value for the given key as Boolean (maps to JS {@code boolean}). */ protected final native void setValueAsBoolean(String key, Boolean value) /*-{ this[key] = value.@java.lang.Boolean::booleanValue()(); }-*/; }