package edu.ucdavis.cstars.client.tasks;
import com.google.gwt.core.client.JavaScriptObject;
import edu.ucdavis.cstars.client.Units;
/**
* A data object containing a linear distance.
*
* @author Justin Merz
*/
public class LinearUnit extends JavaScriptObject {
protected LinearUnit() {}
/**
* Creates a new LinearUnit object
*
* @return LinearUnit
*/
public static native LinearUnit create() /*-{
return new $wnd.esri.tasks.LinearUnit();
}-*/;
/**
* Specifies the value of the linear distance.
*
* @return double
*/
public final native double getDistance() /*-{
return this.distance;
}-*/;
/**
* Set the distance parameter.
*
* @param distance - Specifies the value of the linear distance.
*/
public final native void setDistance(double distance) /*-{
this.distance = distance;
}-*/;
/**
* Specifies the unit type of the linear distance.
*
* @return Units
*/
public final Units getUnits() {
String u = _getUnits();
for( int i = 0 ; i < Units.values().length; i++ ){
if( Units.values()[i].getValue().contentEquals(u) )
return Units.values()[i];
}
return Units.NOT_SET;
}
private final native String _getUnits() /*-{
return this.units;
}-*/;
/**
* Set the units parameter.
*
* @param units - Specifies the unit type of the linear distance.
*/
public final void setUnits(Units units) {
_setUnits( units.getValue() );
}
private final native void _setUnits(String units) /*-{
this.units = units;
}-*/;
}