package si.ijs.acs.objectexplorer.engine.BACI.converters; import si.ijs.acs.objectexplorer.engine.BACI.BACIConverterSupport; import si.ijs.acs.objectexplorer.engine.DataType; import si.ijs.acs.objectexplorer.engine.BACI.BACIDataType; /** * BACI property degree (double type) -> dd:mm:ss converter. * @author matej.sekoranjaATcosylab.com */ public class BACIDegreesToDDMMSSConverter extends BACIConverterSupport { /** * Required default constructor. */ public BACIDegreesToDDMMSSConverter() { super(); } /** * @see si.ijs.acs.objectexplorer.engine.BACI.BACIConverterSupport#convertPropertyValue(java.lang.Object) */ public Object convertPropertyValue(Object value) { double degrees = ((Double)value).doubleValue(); int dd = (int)degrees; degrees -= dd; degrees *= 60; int mm = (int)(degrees); degrees -= mm; degrees *= 60; double ss = degrees; return new DDMMSS(dd, mm, ss); } /** * @see si.ijs.acs.objectexplorer.engine.BACI.BACIConverterSupport#inverseConvertPropertyValue(java.lang.Object) */ public Object inverseConvertPropertyValue(Object value) { DDMMSS ddmmss = (DDMMSS)value; return new Double(ddmmss.dd + ddmmss.mm/60.0 + ddmmss.ss/3600.0); } /** * @see si.ijs.acs.objectexplorer.engine.BACI.BACIConverterSupport#getInverseConvertPropertyParameterType() */ public DataType getInverseConvertPropertyParameterType() { return new BACIDataType(DDMMSS.class); } /** * @see si.ijs.acs.objectexplorer.engine.BACI.BACIConverterSupport#getConvertedPropertyValueUnits(java.lang.String) */ public String getConvertedPropertyValueUnits(String units) { return "dd:mm:ss"; } /** * @see si.ijs.acs.objectexplorer.engine.Converter#getDescription() */ public String getDescription() { return "BACI property 'deg' to 'dd:mm:ss' converter"; } }