/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.albite.util.units;
/**
*
* @author albus
*/
public class UnitGroup {
/*
* Units in groups
*/
private static final Unit[] UNITS_TEMPERATURE = {
Unit.CELSIUS, Unit.FAHRENHEIT, Unit.DEGREE_OF_FROST, Unit.KELVIN
};
private static final Unit[] UNITS_LENGTH = {
Unit.MILLIMETRE, Unit.CENTIMETRE, Unit.DECIMETRE, Unit.METRE,
Unit.KILOMETRE,
Unit.THOU, Unit.INCH, Unit.FOOT, Unit.YARD, Unit.MILE,
Unit.FATHOM, Unit.CHAIN, Unit.FURLONG, Unit.LEAGUE,
Unit.CABLE, Unit.NAUTICAL_MILE,
Unit.ROD
};
private static final Unit[] UNITS_AREA = {
Unit.SQUARE_MILLIMETRE, Unit.SQUARE_CENTIMETRE, Unit.SQUARE_DECIMETRE,
Unit.SQUARE_METRE, Unit.ARE, Unit.DECARE, Unit.HECTARE,
Unit.SQUARE_KILOMETRE,
Unit.SQUARE_FOOT, Unit.SQUARE_YARD, Unit.ACRE, Unit.SQUARE_MILE
};
private static final Unit[] UNITS_VOLUME = {
Unit.MILLILITRE, Unit.LITRE,
Unit.CUBIC_MILLIMETRE, Unit.CUBIC_CENTIMETRE, Unit.CUBIC_DECIMETRE,
Unit.CUBIC_METRE,
Unit.FLUID_OUNCE, Unit.GILL, Unit.PINT, Unit.QUART, Unit.GALLON
};
private static final Unit[] UNITS_MASS = {
Unit.MILLIGRAM, Unit.GRAM, Unit.KILOGRAM, Unit.TONNE,
Unit.GRAIN, Unit.OUNCE, Unit.POUND, Unit.STONE, Unit.HUNDREDWEIGHT,
Unit.TON
};
private static final Unit[] UNITS_VELOCITY = {
Unit.METRE_PER_SECOND, Unit.KILOMETRE_PER_HOUR,
Unit.FOOT_PER_SECOND, Unit.MILE_PER_HOUR,
Unit.KNOT
};
private static final Unit[] UNITS_PRESSURE = {
Unit.PASCAL, Unit.HECTOPASCAL, Unit.KILOPASCAL,
Unit.MILLIBAR, Unit.BAR, Unit.MILLIMETRE_OF_MERCURY,
Unit.ATMOSPHERE, Unit.PSI, Unit.INCH_OF_MERCURY
};
private static final Unit[] UNITS_POWER = {
Unit.MILLIWATT, Unit.WATT, Unit.KILOWATT, Unit.MEGAWATT,
Unit.HORSEPOWER
};
private static final Unit[] UNITS_ENERGY = {
Unit.WATT_HOUR, Unit.KILOWATT_HOUR, Unit.JOULE, Unit.CALORIE
};
private static final Unit[] UNITS_LINEAR_DENSITY = {
Unit.DOTS_PER_CENTIMETRE, Unit.DOTS_PER_INCH
};
private static final Unit[] UNITS_ANGLE = {
Unit.DEGREE, Unit.RADIAN
};
/*
* The groups themselves
*/
public static final UnitGroup GROUP_TEMPERATURE =
new UnitGroup("Temperature", UNITS_TEMPERATURE);
public static final UnitGroup GROUP_LENGTH =
new UnitGroup("Length", UNITS_LENGTH);
public static final UnitGroup GROUP_AREA =
new UnitGroup("Area", UNITS_AREA);
public static final UnitGroup GROUP_VOLUME =
new UnitGroup("Volume", UNITS_VOLUME);
public static final UnitGroup GROUP_MASS =
new UnitGroup("Mass ", UNITS_MASS);
public static final UnitGroup GROUP_VELOCITY =
new UnitGroup("Velocity", UNITS_VELOCITY);
public static final UnitGroup GROUP_PRESSURE =
new UnitGroup("Pressure", UNITS_PRESSURE);
public static final UnitGroup GROUP_POWER =
new UnitGroup("Power", UNITS_POWER);
public static final UnitGroup GROUP_ENERGY =
new UnitGroup("Energy", UNITS_ENERGY);
public static final UnitGroup GROUP_LINEAR_DENSITY =
new UnitGroup("Linear density", UNITS_LINEAR_DENSITY);
public static final UnitGroup GROUP_ANGLE =
new UnitGroup("Angle", UNITS_ANGLE);
public static final UnitGroup[] GROUPS = {
GROUP_TEMPERATURE,
GROUP_LENGTH,
GROUP_AREA,
GROUP_VOLUME,
GROUP_MASS,
GROUP_VELOCITY,
GROUP_PRESSURE,
GROUP_POWER,
GROUP_ENERGY,
GROUP_LINEAR_DENSITY,
GROUP_ANGLE
};
/*
* Fields
*/
public final String name;
public final Unit[] units;
public UnitGroup(String name, Unit[] units) {
this.name = name;
this.units = units;
}
}