| /******************************************************************************* |
| * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2008 Kestral Computing P/L. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Kestral Computing P/L - initial implementation |
| * Werner Keil - Cleaning, unification with other UOMo parts and Unit-API |
| *******************************************************************************/ |
| |
| package org.eclipse.uomo.ucum.model; |
| |
| import java.math.BigDecimal; |
| |
| import org.eclipse.uomo.core.IDescription; |
| import org.eclipse.uomo.core.IText; |
| import org.unitsofmeasurement.quantity.Quantity; |
| import org.unitsofmeasurement.unit.Unit; |
| |
| public class Value<Q extends Quantity<Q>> implements Quantity<Q>, IDescription, IText { |
| // TODO should use Quantity |
| // TODO make this a "real" unit, should be at least UcumUnit |
| private String unit; |
| private Unit<Q> realUnit; |
| private String unitUC; |
| |
| private BigDecimal value; |
| |
| private String text; |
| |
| /** |
| * @param unit |
| * @param unitUC |
| * @param value |
| */ |
| public Value(String unit, String unitUC, BigDecimal value) { |
| super(); |
| this.unit = unit; |
| this.unitUC = unitUC; |
| this.value = value; |
| } |
| |
| /** |
| * @return the unit |
| */ |
| public String getUnit() { |
| return unit; |
| } |
| |
| /** |
| * @param unit the unit to set |
| */ |
| public void setUnit(String unit) { |
| this.unit = unit; |
| } |
| |
| /** |
| * @return the unitUC |
| * @deprecated currently not used |
| */ |
| public String getUnitUC() { |
| return unitUC; |
| } |
| |
| /** |
| * @param unitUC the unitUC to set |
| * @deprecated currently not used |
| */ |
| public void setUnitUC(String unitUC) { |
| this.unitUC = unitUC; |
| } |
| |
| /** |
| * @param value the value to set |
| * @deprecated |
| */ |
| void setValue(BigDecimal value) { |
| this.value = value; |
| } |
| |
| /** |
| * @return the text |
| */ |
| public String getText() { |
| return text; |
| } |
| |
| /** |
| * @param text the text to set |
| */ |
| public void setText(String text) { |
| this.text = text; |
| } |
| |
| public String getDescription() { |
| if (value == null) |
| return unit; |
| return value.toEngineeringString()+unit; |
| } |
| |
| public Number value() { |
| return value; |
| } |
| |
| public Unit<Q> unit() { |
| return realUnit; |
| } |
| } |