package org.goko.core.common.measure.quantity;
import java.math.BigDecimal;
import org.goko.core.common.exception.GkException;
import org.goko.core.common.measure.units.Unit;
public class Angle extends AbstractQuantity<Angle>{
public static final Angle ZERO = new Angle(BigDecimal.ZERO, AngleUnit.DEGREE_ANGLE);
/**
* Constructor
* @param value
* @param unit
*/
protected Angle(BigDecimal value, Unit<Angle> unit) {
super(value, unit);
}
/** (inheritDoc)
* @see org.goko.core.common.measure.quantity.AbstractQuantity#createQuantity(java.math.BigDecimal, org.goko.core.common.measure.units.Unit)
*/
@Override
protected Angle createQuantity(BigDecimal value, Unit<Angle> unit) {
return Angle.valueOf(value, unit);
}
public static Angle valueOf(BigDecimal value, Unit<Angle> unit) {
return new Angle(value, unit);
}
public static Angle clone(Angle angle) {
return new Angle(angle.value(angle.getUnit()), angle.getUnit());
}
public static Angle valueOf(String value, Unit<Angle> unit) {
return new Angle(new BigDecimal(value), unit);
}
public static Angle valueOf(int value, Unit<Angle> unit) {
return new Angle(new BigDecimal(value), unit);
}
public static Angle parse(String value) throws GkException {
return Angle.ZERO.parse(value, AngleUnit.getAll());
}
}