JScience v4.3

javax.measure.unit
Class BaseUnit<Q extends Quantity>

java.lang.Object
  extended by javax.measure.unit.Unit<Q>
      extended by javax.measure.unit.BaseUnit<Q>
All Implemented Interfaces:
java.io.Serializable

public class BaseUnit<Q extends Quantity>
extends Unit<Q>

This class represents the building blocks on top of which all others units are created. Base units are typically dimensionally independent. The actual unit dimension is determinated by the current model. For example using the standard model, SI.CANDELA has the dimension of watt:

     // Standard model.
     BaseUnit<Length> METER = new BaseUnit<Length>("m");
     BaseUnit<LuminousIntensity> CANDELA = new BaseUnit<LuminousIntensity>("cd");
     System.out.println(METER.getDimension());
     System.out.println(CANDELA.getDimension());
     
     > [L]
     > [L]²·[M]/[T]³
     

This class represents the "standard base units" which includes SI base units and possibly others user-defined base units. It does not represent the base units of any specific SystemOfUnits (they would have be base units accross all possible systems otherwise).

Version:
3.1, April 22, 2006
Author:
Jean-Marie Dautelle
See Also:
Wikipedia: SI base unit, Serialized Form

Field Summary
 
Fields inherited from class javax.measure.unit.Unit
ONE
 
Constructor Summary
BaseUnit(java.lang.String symbol)
          Creates a base unit having the specified symbol.
 
Method Summary
 boolean equals(java.lang.Object that)
          Indicates if this base unit is considered equals to the specified object (both are base units with equal symbol, standard dimension and standard transform).
 Unit<? super Q> getStandardUnit()
          Returns the base unit, alternate unit or product of base units and alternate units this unit is derived from.
 java.lang.String getSymbol()
          Returns the unique symbol for this base unit.
 int hashCode()
          Returns the hash code for this unit.
 UnitConverter toStandardUnit()
          Returns the converter from this unit to its system unit.
 
Methods inherited from class javax.measure.unit.Unit
alternate, asType, compound, divide, divide, divide, getConverterTo, getDimension, inverse, isCompatible, isStandardUnit, plus, pow, root, times, times, times, toString, transform, valueOf
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BaseUnit

public BaseUnit(java.lang.String symbol)
Creates a base unit having the specified symbol.

Parameters:
symbol - the symbol of this base unit.
Throws:
java.lang.IllegalArgumentException - if the specified symbol is associated to a different unit.
Method Detail

getSymbol

public final java.lang.String getSymbol()
Returns the unique symbol for this base unit.

Returns:
this base unit symbol.

equals

public boolean equals(java.lang.Object that)
Indicates if this base unit is considered equals to the specified object (both are base units with equal symbol, standard dimension and standard transform).

Specified by:
equals in class Unit<Q extends Quantity>
Parameters:
that - the object to compare for equality.
Returns:
true if this and that are considered equals; falseotherwise.

hashCode

public int hashCode()
Description copied from class: Unit
Returns the hash code for this unit.

Specified by:
hashCode in class Unit<Q extends Quantity>
Returns:
this unit hashcode value.

getStandardUnit

public Unit<? super Q> getStandardUnit()
Description copied from class: Unit
Returns the base unit, alternate unit or product of base units and alternate units this unit is derived from. The standard unit identifies the "type" of quantity for which this unit is employed. For example:
    boolean isAngularVelocity(Unit<?> u) {
       return u.getStandardUnit().equals(RADIAN.divide(SECOND));
    }
    assert(REVOLUTION.divide(MINUTE).isAngularVelocity());  
 

Note: Having the same system unit is not sufficient to ensure that a converter exists between the two units (e.g. °C/m and K/m).

Specified by:
getStandardUnit in class Unit<Q extends Quantity>
Returns:
the system unit this unit is derived from.

toStandardUnit

public UnitConverter toStandardUnit()
Description copied from class: Unit
Returns the converter from this unit to its system unit.

Specified by:
toStandardUnit in class Unit<Q extends Quantity>
Returns:
this.getConverterTo(this.getSystemUnit())

JScience v4.3

Copyright © 2006 JScience.