Package tech.units.indriya.format
Class NumberSpaceQuantityFormat
java.lang.Object
java.text.Format
tech.units.indriya.format.AbstractQuantityFormat
tech.units.indriya.format.NumberSpaceQuantityFormat
- All Implemented Interfaces:
Serializable
,Cloneable
,QuantityFormat
,tech.uom.lib.common.function.Parser<CharSequence,
ComparableQuantity>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.text.Format
Format.Field
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final NumberSpaceQuantityFormat
Holds the default format instance.private static final NumberSpaceQuantityFormat
Holds the localized format instance.private final NumberFormat
private static final long
private final javax.measure.format.UnitFormat
-
Constructor Summary
ConstructorsConstructorDescriptionNumberSpaceQuantityFormat
(NumberFormat numberFormat, javax.measure.format.UnitFormat unitFormat) -
Method Summary
Modifier and TypeMethodDescriptionformat
(javax.measure.Quantity<?> quantity, Appendable dest) Formats the specified quantity into anAppendable
.(package private) static int
getFractionDigitsCount
(double d) static NumberSpaceQuantityFormat
Returns the default format.static NumberSpaceQuantityFormat
getInstance
(NumberFormat numberFormat, javax.measure.format.UnitFormat unitFormat) Returns the quantity format using the specified number format and unit format (the number and unit are separated by one space).static NumberSpaceQuantityFormat
getInstance
(FormatBehavior style) Returns the culture invariant format based uponBigDecimal
canonical format and thestandard
unit format.parse
(CharSequence csq) Parses a portion of the specifiedCharSequence
from the specified position to produce an object.(package private) ComparableQuantity<?>
parse
(CharSequence csq, int index) Parses a portion of the specifiedCharSequence
from the specified position to produce an object.parse
(CharSequence csq, ParsePosition cursor) Parses a portion of the specifiedCharSequence
from the specified position to produce an object.Methods inherited from class tech.units.indriya.format.AbstractQuantityFormat
format, format, parseObject
Methods inherited from class java.text.Format
clone, format, formatToCharacterIterator, parseObject
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface tech.units.indriya.format.QuantityFormat
isLocaleSensitive
-
Field Details
-
DEFAULT
Holds the default format instance. -
LOCAL
Holds the localized format instance. -
serialVersionUID
private static final long serialVersionUID- See Also:
-
numberFormat
-
unitFormat
private final javax.measure.format.UnitFormat unitFormat
-
-
Constructor Details
-
NumberSpaceQuantityFormat
NumberSpaceQuantityFormat(NumberFormat numberFormat, javax.measure.format.UnitFormat unitFormat)
-
-
Method Details
-
getFractionDigitsCount
static int getFractionDigitsCount(double d) -
format
Description copied from class:AbstractQuantityFormat
Formats the specified quantity into anAppendable
.- Specified by:
format
in interfaceQuantityFormat
- Specified by:
format
in classAbstractQuantityFormat
- Parameters:
quantity
- the quantity to format.dest
- the appendable destination.- Returns:
- the specified
Appendable
. - Throws:
IOException
- if an I/O exception occurs.
-
parse
public ComparableQuantity<?> parse(CharSequence csq, ParsePosition cursor) throws IllegalArgumentException, javax.measure.format.ParserException Description copied from class:AbstractQuantityFormat
Parses a portion of the specifiedCharSequence
from the specified position to produce an object. If parsing succeeds, then the index of thecursor
argument is updated to the index after the last character used.- Specified by:
parse
in interfaceQuantityFormat
- Specified by:
parse
in classAbstractQuantityFormat
- Parameters:
csq
- theCharSequence
to parse.cursor
- the cursor holding the current parsing index.- Returns:
- the object parsed from the specified character sub-sequence.
- Throws:
IllegalArgumentException
- if any problem occurs while parsing the specified character sequence (e.g. illegal syntax).javax.measure.format.ParserException
-
parse
ComparableQuantity<?> parse(CharSequence csq, int index) throws IllegalArgumentException, javax.measure.format.ParserException Description copied from class:AbstractQuantityFormat
Parses a portion of the specifiedCharSequence
from the specified position to produce an object. If parsing succeeds, then the index of thecursor
argument is updated to the index after the last character used.- Specified by:
parse
in classAbstractQuantityFormat
- Parameters:
csq
- theCharSequence
to parse.index
- the current parsing index.- Returns:
- the object parsed from the specified character sub-sequence.
- Throws:
IllegalArgumentException
- if any problem occurs while parsing the specified character sequence (e.g. illegal syntax).javax.measure.format.ParserException
-
parse
public ComparableQuantity<?> parse(CharSequence csq) throws IllegalArgumentException, javax.measure.format.ParserException Description copied from class:AbstractQuantityFormat
Parses a portion of the specifiedCharSequence
from the specified position to produce an object. If parsing succeeds, then the index of thecursor
argument is updated to the index after the last character used.- Specified by:
parse
in interfacetech.uom.lib.common.function.Parser<CharSequence,
ComparableQuantity> - Specified by:
parse
in interfaceQuantityFormat
- Specified by:
parse
in classAbstractQuantityFormat
- Parameters:
csq
- theCharSequence
to parse.- Returns:
- the object parsed from the specified character sub-sequence.
- Throws:
IllegalArgumentException
- if any problem occurs while parsing the specified character sequence (e.g. illegal syntax).javax.measure.format.ParserException
-
getInstance
Returns the culture invariant format based uponBigDecimal
canonical format and thestandard
unit format. This format is not locale-sensitive and can be used for unambiguous electronic communication of quantities together with their units without loss of information. For example:"1.23456789 kg.m/s2"
returnsQuantities.getQuantity(new BigDecimal("1.23456789"), AbstractUnit.parse("kg.m/s2")));
- Parameters:
style
- the format style to apply.- Returns:
- the desired format.
-
getInstance
Returns the default format.- Returns:
- the desired format.
-
getInstance
public static NumberSpaceQuantityFormat getInstance(NumberFormat numberFormat, javax.measure.format.UnitFormat unitFormat) Returns the quantity format using the specified number format and unit format (the number and unit are separated by one space).- Parameters:
numberFormat
- the number format.unitFormat
- the unit format.- Returns:
- the corresponding format.
-