public final class ScaledUnit extends Unit implements Serializable
Constructor and Description |
---|
ScaledUnit(double amount)
Construct a dimensionless scaled unit.
|
ScaledUnit(double amount,
BaseUnit unit) |
ScaledUnit(double amount,
BaseUnit unit,
String id) |
ScaledUnit(double amount,
DerivedUnit unit) |
ScaledUnit(double amount,
DerivedUnit unit,
String id) |
ScaledUnit(double amount,
String identifier)
Construct a dimensionless scaled unit with an identifier.
|
ScaledUnit(double amount,
Unit unit)
Constructs a scaled unit from another unit.
|
ScaledUnit(double amount,
Unit unit,
String identifier)
Constructs a scaled unit from another unit and an identifier.
|
Modifier and Type | Method and Description |
---|---|
static ScaledUnit |
create(double amount,
Unit unit)
Factory method for creating a scaled unit.
|
Unit |
divide(Unit that)
Divides this unit by another unit.
|
protected Unit |
divideInto(Unit that)
Divides this unit into another unit.
|
boolean |
equals(Unit unit)
Indicates if this instance is equal to a unit.
|
double |
getAmount()
Get the scale amount
|
String |
getDefinition()
Returns the definition of this unit.
|
DerivedUnit |
getDerivedUnit()
Returns the derived unit that underlies this unit.
|
Unit |
getUnit()
Get the underlying unit
|
int |
hashCode()
Returns the hash code of this instance.
|
boolean |
isConvertible(Unit unit)
Indicate whether this unit is convertible with another unit.
|
boolean |
isDimensionless()
Indicates if this instance is dimensionless.
|
Unit |
log(double base)
Returns the logarithmic unit that has this unit as its reference level.
|
static void |
main(String[] args)
Test this class.
|
Unit |
multiply(Unit that)
Multiplies this unit by another unit.
|
Unit |
pow(double power)
Raises this unit to a power.
|
Unit |
pow(int power)
Raises this unit to a power.
|
protected Unit |
protectedClone(String identifier)
Clones this unit, changing the identifier.
|
Unit |
root(int root)
Returns the N-th root of this unit.
|
Unit |
scale(double amount)
Scale this unit by an amount.
|
Unit |
shift(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.
|
adjustCheckAndCache, canConvert, canConvertArray, clone, convertTuple, convertTuple, convertTuple, convertTuple, copyUnitsArray, equals, getAbsoluteUnit, getIdentifier, sqrt, toString, toThat, toThis, transformUnits, transformUnits, transformUnits, transformUnits
public ScaledUnit(double amount)
amount
- The given amount of this unit.public ScaledUnit(double amount, String identifier)
amount
- The given amount of this unit.identifier
- Name or abbreviation for the unit. May be null
or
empty.public ScaledUnit(double amount, Unit unit)
null
.amount
- The given amount of the other unit (e.g. 0.9144 to create a
yard unit if unit
represents a meter).unit
- The other unit.public ScaledUnit(double amount, Unit unit, String identifier)
amount
- The given amount of the base unit (e.g. 0.9144 to create a
yard unit if unit
represents a meter).unit
- The other unit.identifier
- Name or abbreviation for the unit. May be null
or
empty. If null
and if amount
is 1
,
then the identifier of unit
is used.public ScaledUnit(double amount, BaseUnit unit)
public ScaledUnit(double amount, DerivedUnit unit)
public ScaledUnit(double amount, DerivedUnit unit, String id)
public static ScaledUnit create(double amount, Unit unit) throws UnitException
null
.amount
- The given amount of the scaled unit (e.g. 3.0 to create a yard
unit if unit
represents a foot.unit
- The given unit.UnitException
- Can't create Scaled Unit from unit
.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 units include radian, degree, steradian, and "g/kg".
isDimensionless
in class Unit
protected Unit protectedClone(String identifier)
protectedClone
in class Unit
identifier
- The name or abbreviation for the cloned unit. May be
null
or empty.public Unit scale(double amount) throws UnitException
Unit
scale
in class Unit
amount
- The amount by which to scale this unit. E.g. Unit yard =
meter.scale(0.9144);UnitException
- This unit cannot be scaled.public Unit shift(double offset) throws UnitException
Unit
shift
in class Unit
offset
- The amount by which to shift this unit. E.g. Unit celsius =
kelvin.shift(273.15);UnitException
- The unit subclass is unknown.public Unit log(double base)
Unit
public Unit pow(int power) throws UnitException
pow
in class Unit
power
- The power to raise this unit by.power
.UnitException
- if the underlying unit can't be raised to the given power.
promise: This unit has not been modified.public Unit pow(double power) throws IllegalArgumentException, UnitException
pow
in class Unit
power
- The power to raise this unit by. If this unit is not
dimensionless, then the value must be integral.power
.IllegalArgumentException
- This unit is not dimensionless and power
has a
non-integral value.UnitException
- if the underlying unit can't be raised to the given power.
promise: The unit has not been modified.public Unit root(int root) throws IllegalArgumentException, UnitException
root
in class Unit
root
- The root to take (e.g. 2 means square root). May not be zero.root
-th root of this
unit.IllegalArgumentException
- The root value is zero or the resulting unit would have a
non-integral unit dimension.UnitException
- if the underlying unit given can't have the given root taken.
promise: This unit has not been modified.public String getDefinition()
getDefinition
in class Unit
public double getAmount()
public Unit getUnit()
public Unit multiply(Unit that) throws UnitException
multiply
in class Unit
that
- The unit with which to multiply this unit.UnitException
- Meaningless operation.public Unit divide(Unit that) throws UnitException
divide
in class Unit
that
- The unit to divide into this unit.UnitException
- Meaningless operation.protected Unit divideInto(Unit that) throws UnitException
divideInto
in class Unit
that
- The unit to be divided by this unit.UnitException
- Meaningless operation.public double[] toThis(double[] values, Unit that) throws UnitException
toThis
in class Unit
values
- The values to be converted.that
- The unit of values
.UnitException
- The units are not convertible.public float[] toThis(float[] values, Unit that) throws UnitException
toThis
in class Unit
values
- The values to be converted.that
- The unit of values
.UnitException
- The units are not convertible.public double[] toThis(double[] values, Unit that, boolean copy) throws UnitException
toThis
in class Unit
values
- The values to be converted.that
- The unit of values
.copy
- if false and that
equals this, return
values
, else return a new arrayUnitException
- The units are not convertible.public float[] toThis(float[] values, Unit that, boolean copy) throws UnitException
toThis
in class Unit
values
- The values to be converted.that
- The unit of values
.copy
- if false and that
equals this, return
values
, else return a new arrayUnitException
- The units are not convertible.public double[] toThat(double[] values, Unit that) throws UnitException
toThat
in class Unit
values
- The values to be converted in units of this unit.that
- The unit to which to convert the values.UnitException
- The units are not convertible.public float[] toThat(float[] values, Unit that) throws UnitException
toThat
in class Unit
values
- The values to be converted in units of this unit.that
- The unit to which to convert the values.UnitException
- The units are not convertible.public double[] toThat(double[] values, Unit that, boolean copy) throws UnitException
toThat
in class Unit
values
- The values to be converted in units of this unit.that
- The unit to which to convert the values.copy
- if false and that
equals this, return
values
, else return a new arrayUnitException
- The units are not convertible.public float[] toThat(float[] values, Unit that, boolean copy) throws UnitException
toThat
in class Unit
values
- The values to be converted in units of this unit.that
- The unit to which to convert the values.copy
- if false and that
equals this, return
values
, else return a new arrayUnitException
- The units are not convertible.public boolean isConvertible(Unit unit)
toThis(...)
/ and
toThat(...)
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.isConvertible
in class Unit
unit
- The other unit.public static void main(String[] args) throws UnitException
args
- Arguments (ignored).UnitException
- A problem occurred.public boolean equals(Unit unit)
public int hashCode()
Object.hashCode()
should
be overridden whenever Object.equals(Object)
is.public DerivedUnit getDerivedUnit()
Unit
getDerivedUnit
in class Unit
Copyright © 1996–2023 The SSEC Visualization Project. All rights reserved.