X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Fdata%2FUnit.java;fp=src%2Ftim%2Fprune%2Fdata%2FUnit.java;h=a073297a09b520245c53c4cabf6f526745124742;hp=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465 diff --git a/src/tim/prune/data/Unit.java b/src/tim/prune/data/Unit.java new file mode 100644 index 0000000..a073297 --- /dev/null +++ b/src/tim/prune/data/Unit.java @@ -0,0 +1,86 @@ +package tim.prune.data; + +/** + * Class to represent a single distance or speed unit + * such as kilometres, mph, feet etc + */ +public class Unit +{ + private String _nameKey = null; + private double _multFactorFromStd = 1.0; + private boolean _isStandard = false; + + /** + * Unit constructor + * @param inNameKey name key + * @param inMultFactor multiplication factor from standard units + */ + public Unit(String inNameKey, double inMultFactor) + { + _nameKey = inNameKey; + _multFactorFromStd = inMultFactor; + _isStandard = false; + } + + /** + * Unit constructor for standard unit + * @param inNameKey name key + */ + public Unit(String inNameKey) + { + _nameKey = inNameKey; + _multFactorFromStd = 1.0; + _isStandard = true; + } + + /** + * Unit constructor + * @param inParent parent unit + * @param inSuffix suffix to name key + */ + public Unit(Unit inParent, String inSuffix) + { + this(inParent, inSuffix, 1.0); + } + + /** + * Unit constructor + * @param inParent parent unit + * @param inSuffix suffix to name key + * @param inFactor additional time factor to apply + */ + public Unit(Unit inParent, String inSuffix, double inFactor) + { + _nameKey = inParent._nameKey + inSuffix; + _multFactorFromStd = inParent._multFactorFromStd * inFactor; + _isStandard = inParent._isStandard; + } + + /** + * @return name key + */ + public String getNameKey() { + return "units." + _nameKey; + } + + /** + * @return shortname key + */ + public String getShortnameKey() { + return getNameKey() + ".short"; + } + + /** + * @return multiplication factor from standard units + */ + public double getMultFactorFromStd() { + return _multFactorFromStd; + } + + /** + * @return true if this is the standard unit (mult factor 1.0) + */ + public boolean isStandard() { + return _isStandard; + } +}