
fr.lteconsulting.hexa.client.comm.GenericJSO Maven / Gradle / Ivy
The newest version!
package fr.lteconsulting.hexa.client.comm;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.core.client.JsArrayInteger;
import com.google.gwt.core.client.JsArrayString;
public class GenericJSO extends JavaScriptObject
{
protected GenericJSO()
{
}
public final native void setString( String key, String value ) /*-{ this[key] = value; }-*/;
public final native void setInt( String key, int value ) /*-{ this[key] = value; }-*/;
public final native void setObject( String key, T value ) /*-{ this[key] = value; }-*/;
public final native JsArray getAsArray() /*-{ return this; }-*/;
public final native JsArray getAsArrayEx() /*-{ return this; }-*/;
public final native JsArrayInteger getAsArrayOfInt() /*-{ return this; }-*/;
public final native JsArrayString getAsArrayOfString() /*-{ return this; }-*/;
public final native int getIntByIdx( int idx ) /*-{ var v=1*this[idx]; if(isNaN(v)) v=-1; return v; }-*/;
public final native double getDoubleByIdx( int idx ) /*-{ var v=1.0*(Math.round(100.0*this[idx])/100.0); if(isNaN(v)) v=-12567.0; return v; }-*/;
public final native String getStringByIdx( int idx ) /*-{ return ""+ this[idx]; }-*/;
public final native T getJavaScriptObjectByIdx( int idx ) /*-{ return this[idx]; }-*/;
public final native GenericJSO getGenericJSO( String fieldName ) /*-{ return this[fieldName] || null; }-*/;
public final native GenericJSO getGenericJSOByIdx( int idx ) /*-{ return this[idx]; }-*/;
// public final native int getInt( String fieldName ) /*-{ return 1*
// this[fieldName]; }-*/;
public final int getInt( String fieldName )
{
int v = getInt_REAL( fieldName );
if( v == -12566 ) // magik value !!!
GWT.log( "NaN when getting field " + fieldName, null );
// assert v != -12566;
return v;
}
public final native int getInt_REAL( String fieldName )
/*-{
var v = 1 * this[fieldName];
if( isNaN( v ) )
return -12566; // magik value !!!
return v;
}-*/;
private final native boolean isNull( String fieldName )
/*-{
if( this[fieldName] === null )
return true;
return false;
}-*/;
private final native boolean isNull( int idx )
/*-{
if( this[idx] === null )
return true;
return false;
}-*/;
public final Integer getInteger( String fieldName )
{
if( isNull( fieldName ) )
return null;
return getInt( fieldName );
}
public final Integer getIntegerByIdx( int idx )
{
if( isNull( idx ) )
return null;
return getIntByIdx( idx );
}
public final native void setDouble( String fieldName, double value ) /*-{ this[fieldName] = value; }-*/;
public final native double getDouble( String fieldName ) /*-{ return 1.0* (Math.round(100.0*this[fieldName])/100.0); }-*/;
public final native String getString( String fieldName ) /*-{ return ""+ this[fieldName]; }-*/;
public final native boolean getBoolean( String fieldName ) /*-{ return this[fieldName]>0?true:false; }-*/;
public final native JsArray getArray( String fieldName ) /*-{ return this[fieldName]; }-*/;
public final native JsArray getArrayByIdx( int idx ) /*-{ return this[idx]; }-*/;
public final native JsArrayInteger getArrayOfInt( String fieldName ) /*-{ return this[fieldName]; }-*/;
public final native JsArrayString getArrayOfString( String fieldName ) /*-{ return this[fieldName]; }-*/;
public final native int length()
/*-{
return this.length;
}-*/;
public final String dump()
{
return _dumpX( this, 0 );
}
public final native String _dumpX( JavaScriptObject arr, int level )
/*-{
$wnd["dumped"] = this;
}-*/;
public final native String _dump( JavaScriptObject arr, int level )
/*-{
f = function dump( arr, level )
{
var dumped_text = "";
var level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j \"" + value + "\"\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
return f( arr, level );
}-*/;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy