Top Description Constructors Methods
tech.units.indriya.spi

public abstract Class UnitNameProvider

extends LocaleServiceProvider
Class Inheritance
Imports
java.util.Locale, .ResourceBundle.Control, java.util.spi.LocaleServiceProvider

An abstract class for service providers that provide localized unit symbols and display names for the unit class. Note that unit symbols are considered names when determining behaviors described in the LocaleServiceProvider specification.
Since
2.0.3

Constructor Summary

AccessConstructor and Description
protected
UnitNameProvider()

Sole constructor.

Method Summary

Modifier and TypeMethod and Description
public String

Returns:

the name for the unit that is appropriate for display to the user, or null if the name is not available for the locale
getDisplayName
(String
the ISO 4217 unit, which consists of three upper-case letters between 'A' (U+0041) and 'Z' (U+005A)
unitCode
,
Locale
the desired locale
locale
)

Returns a name for the unit that is appropriate for display to the user.

public abstract String

Returns:

the symbol of the given unit for the specified locale, or null if the symbol is not available for the locale
getSymbol
(String
the unit code, which consists of three upper-case letters between 'A' (U+0041) and 'Z' (U+005A)
unitCode
,
Locale
the desired locale
locale
)

Gets the symbol of the given unit for the specified locale.

Inherited from java.util.spi.LocaleServiceProvider:
getAvailableLocalesisSupportedLocale

Constructor Detail

UnitNameProviderback to summary
protected UnitNameProvider()

Sole constructor. (For invocation by subclass constructors, typically implicit.)

Method Detail

getDisplayNameback to summary
public String getDisplayName(String unitCode, Locale locale)

Returns a name for the unit that is appropriate for display to the user. The default implementation returns null.

Parameters
unitCode:String

the ISO 4217 unit, which consists of three upper-case letters between 'A' (U+0041) and 'Z' (U+005A)

locale:Locale

the desired locale

Returns:String

the name for the unit that is appropriate for display to the user, or null if the name is not available for the locale

Exceptions
IllegalArgumentException:
if unitCode is not in the form of three upper-case letters, or locale isn't one of the locales returned from getAvailableLocales().
NullPointerException:
if unitCode or locale is null
getSymbolback to summary
public abstract String getSymbol(String unitCode, Locale locale)

Gets the symbol of the given unit for the specified locale. For example, for "m" (metre), the symbol is "m" if the specified locale is the US, while for other locales it may be "M". If no symbol can be determined, null should be returned.

Parameters
unitCode:String

the unit code, which consists of three upper-case letters between 'A' (U+0041) and 'Z' (U+005A)

locale:Locale

the desired locale

Returns:String

the symbol of the given unit for the specified locale, or null if the symbol is not available for the locale

Exceptions
NullPointerException:
if unitCode or locale is null
IllegalArgumentException:
if unitCode is not in the form of three upper-case letters, or locale isn't one of the locales returned from getAvailableLocales().
See Also
javax.measure.Unit#getSymbol(java.util.Locale)