
com.hwaipy.quantity.UnitPrefixes Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Quantity Show documentation
Show all versions of Quantity Show documentation
For calculation of quantities and units.
The newest version!
package com.hwaipy.quantity;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
/**
* @author Hwaipy 2015-3-15
*/
public class UnitPrefixes {
private static final HashMap prefixMap = new HashMap();
private static final HashMap nameMap = new HashMap();
public static void register(UnitPrefix unitPrefix) {
synchronized (UnitPrefix.class) {
String prefix = unitPrefix.getPrefix();
String name = unitPrefix.getName();
if (prefixMap.containsKey(prefix)) {
throw new IllegalArgumentException("Prefix " + prefix + " exists.");
}
if (nameMap.containsKey(name)) {
throw new IllegalArgumentException("Prefix name " + name + " exists.");
}
prefixMap.put(prefix, unitPrefix);
nameMap.put(name, unitPrefix);
}
}
public static Collection getRegisteredPrefixes() {
return Collections.unmodifiableCollection(prefixMap.values());
}
public static UnitPrefix get(String prefix) {
return prefixMap.get(prefix);
}
public static final UnitPrefix none = new UnitPrefixBuilder("", "none", 1).register().createUnitPrefix();
public static final UnitPrefix deca = new UnitPrefixBuilder("da", "deca", 1e1).register().createUnitPrefix();
public static final UnitPrefix hecto = new UnitPrefixBuilder("h", "hecto", 1e2).register().createUnitPrefix();
public static final UnitPrefix kilo = new UnitPrefixBuilder("k", "kilo", 1e3).register().createUnitPrefix();
public static final UnitPrefix mega = new UnitPrefixBuilder("M", "mega", 1e6).register().createUnitPrefix();
public static final UnitPrefix giga = new UnitPrefixBuilder("G", "giga", 1e9).register().createUnitPrefix();
public static final UnitPrefix tera = new UnitPrefixBuilder("T", "tera", 1e12).register().createUnitPrefix();
public static final UnitPrefix peta = new UnitPrefixBuilder("P", "peta", 1e15).register().createUnitPrefix();
public static final UnitPrefix exa = new UnitPrefixBuilder("E", "exa", 1e18).register().createUnitPrefix();
public static final UnitPrefix zetta = new UnitPrefixBuilder("Z", "zetta", 1e21).register().createUnitPrefix();
public static final UnitPrefix yotta = new UnitPrefixBuilder("Y", "yotta", 1e24).register().createUnitPrefix();
public static final UnitPrefix deci = new UnitPrefixBuilder("d", "deci", 1e-1).register().createUnitPrefix();
public static final UnitPrefix centi = new UnitPrefixBuilder("c", "centi", 1e-2).register().createUnitPrefix();
public static final UnitPrefix milli = new UnitPrefixBuilder("m", "milli", 1e-3).register().createUnitPrefix();
public static final UnitPrefix micro = new UnitPrefixBuilder("µ", "micro", 1e-6).register().createUnitPrefix();
public static final UnitPrefix nano = new UnitPrefixBuilder("n", "nano", 1e-9).register().createUnitPrefix();
public static final UnitPrefix pico = new UnitPrefixBuilder("p", "pico", 1e-12).register().createUnitPrefix();
public static final UnitPrefix femto = new UnitPrefixBuilder("f", "femto", 1e-15).register().createUnitPrefix();
public static final UnitPrefix atto = new UnitPrefixBuilder("a", "atto", 1e-18).register().createUnitPrefix();
public static final UnitPrefix zepto = new UnitPrefixBuilder("z", "zepto", 1e-21).register().createUnitPrefix();
public static final UnitPrefix yocto = new UnitPrefixBuilder("y", "yocto", 1e-24).register().createUnitPrefix();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy