visad
Class BaseUnit
- java.lang.Object
-
- visad.Unit
-
- visad.BaseUnit
-
- All Implemented Interfaces:
- java.io.Serializable
public final class BaseUnit extends Unit implements java.io.Serializable
A class that represents the base units of a system of units. Instances are immutable.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static BaseUnitaddBaseUnit(java.lang.String quantityName, java.lang.String unitName)Create a new base unit from the name of a quantity and the name of a unit.static BaseUnitaddBaseUnit(java.lang.String quantityName, java.lang.String unitName, java.lang.String abbreviation)Create a new base unit from from the name of a quantity, the name of a unit, and the unit's abbreviation.static BaseUnitaddBaseUnit(java.lang.String quantityName, java.lang.String unitName, java.lang.String abbreviation, boolean isDimless)Create a new base unit from from the name of a quantity, the name of a unit, the unit's abbreviation, and whether or not the unit is dimensionless.Unitdivide(Unit that)Divide this unit by another unit.booleanequals(Unit unit)Indicates whether or not this instance equals a unit.java.lang.StringgetDefinition()Returns the definition of this unit.DerivedUnitgetDerivedUnit()Returns the derived unit that underlies this unit.inthashCode()Returns the hash code of this instance.booleanisConvertible(Unit unit)Indicate whether this unit is convertible with another unit.booleanisDimensionless()Indicates if this instance is dimensionless.Unitlog(double base)Returns the logarithmic unit that has this unit as its reference level.static voidmain(java.lang.String[] args)Test this class.Unitmultiply(Unit that)Multiply this unit by another unit.Unitpow(double power)Raise a unit to a power.Unitpow(int power)Raise a base unit to a power.java.lang.StringquantityName()Return the name of the quantity associated with this unit.static BaseUnitquantityNameToUnit(java.lang.String quantityName)Find the base unit for the given quantity.Unitroot(int root)Returns the N-th root of this unit.Unitscale(double amount)Scale this unit by an amount.Unitshift(double offset)Shift this unit by an amount.double[]toThat(double[] values, Unit that)Convert values from this unit to another unit.double[]toThat(double[] values, Unit that, boolean copy)Convert values from this unit to another unit.float[]toThat(float[] values, Unit that)Convert values from this unit to another unit.float[]toThat(float[] values, Unit that, boolean copy)Convert values from this unit to another unit.double[]toThis(double[] values, Unit that)Convert values to this unit from another unit.double[]toThis(double[] values, Unit that, boolean copy)Convert values to this unit from another unit.float[]toThis(float[] values, Unit that)Convert values to this unit from another unit.float[]toThis(float[] values, Unit that, boolean copy)Convert values to this unit from another unit.java.lang.StringunitName()Return the name of this unit.static BaseUnitunitNameToUnit(java.lang.String unitName)Find the base unit with the given name.java.lang.StringunitSymbol()Return the symbol of this unit.-
Methods inherited from class visad.Unit
canConvert, canConvertArray, clone, convertTuple, convertTuple, convertTuple, convertTuple, copyUnitsArray, equals, getAbsoluteUnit, getIdentifier, sqrt, toString, toThat, toThis, transformUnits, transformUnits, transformUnits, transformUnits
-
-
-
-
Method Detail
-
isDimensionless
public boolean isDimensionless()
Indicates if this instance is dimensionless. A unit is dimensionless if it is a measure of a dimensionless quantity like angle or concentration. Examples of dimensionless base units include radian, degree, and steradian.
- Specified by:
isDimensionlessin classUnit- Returns:
- True if an only if this unit is dimensionless.
-
scale
public Unit scale(double amount) throws UnitException
Description copied from class:UnitScale this unit by an amount.- Specified by:
scalein classUnit- Parameters:
amount- The amount by which to scale this unit. E.g. Unit yard = meter.scale(0.9144);- Returns:
- A unit equal to this instance scaled by the given amount.
- Throws:
UnitException- This unit cannot be scaled.
-
shift
public Unit shift(double offset) throws UnitException
Description copied from class:UnitShift this unit by an amount.- Specified by:
shiftin classUnit- Parameters:
offset- The amount by which to shift this unit. E.g. Unit celsius = kelvin.shift(273.15);- Returns:
- A unit equal to this instance with the origin shifted by the given amount.
- Throws:
UnitException- The unit subclass is unknown.
-
log
public Unit log(double base)
Description copied from class:UnitReturns the logarithmic unit that has this unit as its reference level. Not all units can be used as a reference level.
-
pow
public Unit pow(int power)
Raise a base unit to a power.
-
pow
public Unit pow(double power) throws java.lang.IllegalArgumentException
Raise a unit to a power.- Specified by:
powin classUnit- Parameters:
power- The power to raise this unit by. The value must be integral or reciprocal integral.- Returns:
- The unit resulting from raising this unit to
power. - Throws:
java.lang.IllegalArgumentException-powerhas a non-integral or non-reciprocal integral value.
-
root
public Unit root(int root) throws java.lang.IllegalArgumentException
Returns the N-th root of this unit.- Specified by:
rootin classUnit- Parameters:
root- The root to take (e.g. 2 means square root). May not be zero.- Returns:
- The unit corresponding to the
root-th root of this unit. - Throws:
java.lang.IllegalArgumentException- The root value is zero or the resulting unit would have a non-integral unit dimension.
-
unitName
public java.lang.String unitName()
Return the name of this unit.- Returns:
- The name of this unit (e.g. "meter").
-
unitSymbol
public java.lang.String unitSymbol()
Return the symbol of this unit. This is the same as the identifier.- Returns:
- The symbol of this unit (e.g. "m").
-
quantityName
public java.lang.String quantityName()
Return the name of the quantity associated with this unit.- Returns:
- The name this units quantity (e.g. "Length").
-
addBaseUnit
public static BaseUnit addBaseUnit(java.lang.String quantityName, java.lang.String unitName) throws UnitException
Create a new base unit from the name of a quantity and the name of a unit. The unit abbreviation will be the same as the unit name. The unit will not be dimensionless.- Parameters:
quantityName- The name of the associated quantity (e.g. "Length").unitName- The name for the unit (e.g. "meter").- Returns:
- A new base unit or the previously created one with the same names.
- Throws:
UnitException- Name, abbreviation, or quantity name isnullor attempt to redefine the base unit associated withquantityName.
-
addBaseUnit
public static BaseUnit addBaseUnit(java.lang.String quantityName, java.lang.String unitName, java.lang.String abbreviation) throws UnitException
Create a new base unit from from the name of a quantity, the name of a unit, and the unit's abbreviation. The unit will not be dimensionless.- Parameters:
quantityName- The name of the associated quantity (e.g. "Length").unitName- The name for the unit (e.g. "meter").abbreviation- The abbreviation for the unit (e.g. "m").- Returns:
- A new base unit or the previously created one with the same names.
- Throws:
UnitException- Name, abbreviation, or quantity name isnullor attempt to redefine the base unit associated withquantityName.
-
addBaseUnit
public static BaseUnit addBaseUnit(java.lang.String quantityName, java.lang.String unitName, java.lang.String abbreviation, boolean isDimless) throws UnitException
Create a new base unit from from the name of a quantity, the name of a unit, the unit's abbreviation, and whether or not the unit is dimensionless.- Parameters:
quantityName- The name of the associated quantity (e.g. "Length").unitName- The name for the unit (e.g. "meter").abbreviation- The abbreviation for the unit (e.g. "m").isDimless- Whether or not the unit is dimensionless.- Returns:
- A new base unit or the previously created one with the same names.
- Throws:
UnitException- Name, abbreviation, or quantity name isnullor attempt to redefine the base unit associated withquantityName.
-
unitNameToUnit
public static BaseUnit unitNameToUnit(java.lang.String unitName)
Find the base unit with the given name.- Parameters:
unitName- The name of the unit (e.g. "meter").- Returns:
- The existing base unit with the given name or
nullif no such units exists.
-
quantityNameToUnit
public static BaseUnit quantityNameToUnit(java.lang.String quantityName)
Find the base unit for the given quantity.- Parameters:
quantityName- The name of the quantity (e.g. "Length").- Returns:
- The existing base unit for the given quantity or
nullif no such unit exists.
-
main
public static void main(java.lang.String[] args) throws UnitExceptionTest this class.- Parameters:
args- Arguments (ignored).- Throws:
UnitException- A problem occurred.
-
toThis
public double[] toThis(double[] values, Unit that) throws UnitExceptionConvert values to this unit from another unit.- Specified by:
toThisin classUnit- Parameters:
values- The values to be converted.that- The unit ofvalues.- Returns:
- The converted values in units of this unit.
- Throws:
UnitException- The units are not convertible.
-
toThis
public float[] toThis(float[] values, Unit that) throws UnitExceptionConvert values to this unit from another unit.- Specified by:
toThisin classUnit- Parameters:
values- The values to be converted.that- The unit ofvalues.- Returns:
- The converted values in units of this unit.
- Throws:
UnitException- The units are not convertible.
-
toThis
public double[] toThis(double[] values, Unit that, boolean copy) throws UnitExceptionConvert values to this unit from another unit.- Overrides:
toThisin classUnit- Parameters:
values- The values to be converted.that- The unit ofvalues.copy- if false andthatequals this, returnvalues, else return a new array- Returns:
- The converted values in units of this unit.
- Throws:
UnitException- The units are not convertible.
-
toThis
public float[] toThis(float[] values, Unit that, boolean copy) throws UnitExceptionConvert values to this unit from another unit.- Overrides:
toThisin classUnit- Parameters:
values- The values to be converted.that- The unit ofvalues.copy- if false andthatequals this, returnvalues, else return a new array- Returns:
- The converted values in units of this unit.
- Throws:
UnitException- The units are not convertible.
-
toThat
public double[] toThat(double[] values, Unit that) throws UnitExceptionConvert values from this unit to another unit.- Specified by:
toThatin classUnit- Parameters:
values- The values to be converted in units of this unit.that- The unit to which to convert the values.- Returns:
- The converted values.
- Throws:
UnitException- The units are not convertible.
-
toThat
public float[] toThat(float[] values, Unit that) throws UnitExceptionConvert values from this unit to another unit.- Specified by:
toThatin classUnit- Parameters:
values- The values to be converted in units of this unit.that- The unit to which to convert the values.- Returns:
- The converted values.
- Throws:
UnitException- The units are not convertible.
-
toThat
public double[] toThat(double[] values, Unit that, boolean copy) throws UnitExceptionConvert values from this unit to another unit.- Overrides:
toThatin classUnit- Parameters:
values- The values to be converted in units of this unit.that- The unit to which to convert the values.copy- if false andthatequals this, returnvalues, else return a new array- Returns:
- The converted values.
- Throws:
UnitException- The units are not convertible.
-
toThat
public float[] toThat(float[] values, Unit that, boolean copy) throws UnitExceptionConvert values from this unit to another unit.- Overrides:
toThatin classUnit- Parameters:
values- The values to be converted in units of this unit.that- The unit to which to convert the values.copy- if false andthatequals this, returnvalues, else return a new array- Returns:
- The converted values.
- Throws:
UnitException- The units are not convertible.
-
getDefinition
public java.lang.String getDefinition()
Returns the definition of this unit. The definition of a BaseUnit is the same as the BaseUnit's identifier.- Specified by:
getDefinitionin classUnit- Returns:
- The definition of this unit. Won't be
nullbut may be empty.
-
equals
public boolean equals(Unit unit)
Indicates whether or not this instance equals a unit.
-
hashCode
public int hashCode()
Returns the hash code of this instance.Object.hashCode()should be overridden wheneverObject.equals(Object)is.
-
multiply
public Unit multiply(Unit that) throws UnitException
Multiply this unit by another unit.- Specified by:
multiplyin classUnit- Parameters:
that- The unit with which to multiply this unit.- Returns:
- The product of the two units.
- Throws:
UnitException- Meaningless operation.
-
divide
public Unit divide(Unit that) throws UnitException
Divide this unit by another unit.- Specified by:
dividein classUnit- Parameters:
that- The unit to divide into this unit.- Returns:
- The quotient of the two units.
- Throws:
UnitException- Meaningless operation.
-
isConvertible
public boolean isConvertible(Unit unit)
Indicate whether this unit is convertible with another unit. If one unit is convertible with another, then thetoThis(...)/ andtoThat(...)methods will not throw a UnitException. Unit A is convertible with unit B if and only if unit B is convertible with unit A; hence, calling-order is irrelevant.- Specified by:
isConvertiblein classUnit- Parameters:
unit- The other unit.- Returns:
- True if and only if this unit is convertible with the other unit.
-
getDerivedUnit
public DerivedUnit getDerivedUnit()
Description copied from class:UnitReturns the derived unit that underlies this unit.- Specified by:
getDerivedUnitin classUnit- Returns:
- The derived unit that underlies this unit.
-
-
DMelt 3.0 © DataMelt by jWork.ORG