package org.droidplanner.android.utils.unit.providers.area;
import org.beyene.sius.operation.Operation;
import org.beyene.sius.unit.UnitIdentifier;
import org.beyene.sius.unit.composition.area.AreaUnit;
import org.beyene.sius.unit.composition.area.SquareMeter;
import org.beyene.sius.unit.impl.FactoryArea;
/**
* Created by Fredia Huya-Kouadio on 1/21/15.
*/
public abstract class AreaUnitProvider {
public SquareMeter boxBaseValue(double valueInSqMeters){
return FactoryArea.squareMeter(valueInSqMeters);
}
public AreaUnit boxBaseValueToTarget(double valueInSqMeters){
SquareMeter base = boxBaseValue(valueInSqMeters);
return fromBaseToTarget(base);
}
public abstract AreaUnit fromBaseToTarget(SquareMeter base);
public SquareMeter fromTargetToBase(AreaUnit target){
if(target instanceof SquareMeter)
return (SquareMeter) target;
return Operation.convert(target, UnitIdentifier.SQUARE_METER);
}
}