DecimalFormatSymbolsProvider
DecimalFormatSymbolsProvider (DecimalFormatSymbols 서비스 제공자)
DecimalFormatSymbols 클래스의 인스턴스를 제공하는 서비스 제공자(service provider)를 위한 추상 클래스예요. 특정 로케일·숫자 체계에 맞는 심볼 집합을 제공하고 싶을 때 이 클래스를 상속받아 구현해요.
본문
이 클래스는 java.text.spi 패키지의 SPI(서비스 제공자 인터페이스) 중 하나예요. ServiceLoader 메커니즘으로 등록하며, META-INF/services/java.text.spi.DecimalFormatSymbolsProvider 파일에 구현 클래스를 나열해서 발견되게 해요.
public abstract class DecimalFormatSymbolsProvider
extends LocaleServiceProvider
요청된 Locale은 원하는 숫자 체계를 지정하는 확장을 포함할 수 있어요. 예를 들어 "ar-u-nu-arab"(BCP 47 언어 태그 형식)은 아랍-인도 숫자와 심볼을 갖는 아랍어를, "ar-u-nu-latn"은 라틴 숫자와 심볼을 갖는 아랍어를 지정해요. 숫자 체계에 대해서는 유니코드 LDML(로케일 데이터 마크업 언어) 명세를 참고하면 돼요.
구현해야 할 핵심 메서드는 하나예요.
getInstance(Locale)— 주어진 로케일의DecimalFormatSymbols
지원하지 않는 로케일이 요청되면 IllegalArgumentException이 던져져요.