BreakIteratorProvider

BreakIteratorProvider (BreakIterator 서비스 제공자)

BreakIterator 클래스의 구체적인 구현을 제공하는 서비스 제공자(service provider)를 위한 추상 클래스예요. 로케일에 맞는 경계 분석기를 제공하고 싶을 때 이 클래스를 상속받아 구현해요.

출처: Java API Reference

본문

이 클래스는 java.text.spi 패키지에 속한 SPI(서비스 제공자 인터페이스) 중 하나예요. ServiceLoader 메커니즘으로 등록하며, META-INF/services/java.text.spi.BreakIteratorProvider 파일에 구현 클래스를 나열해서 발견할 수 있게 해요.

public abstract class BreakIteratorProvider
    extends LocaleServiceProvider

구현해야 할 핵심 메서드는 네 가지예요.

  • getCharacterInstance(Locale) — 주어진 로케일의 문자 경계 분석기
  • getLineInstance(Locale) — 줄 경계 분석기
  • getSentenceInstance(Locale) — 문장 경계 분석기
  • getWordInstance(Locale) — 단어 경계 분석기

시스템 기본 BreakIterator가 지원하지 않는 로케일을 추가로 지원하려면, LocaleServiceProvider.isSupportedLocale()를 오버라이드해 지원 로케일임을 밝히고 위 메서드들에서 실제 구현을 반환하면 돼요. 제공자가 지원하지 않는 로케일이 요청되면 IllegalArgumentException이 던져져요.

더 알아보기 (Learn more)

Java 공식 API