ListResourceBundle — 리스트 기반 리소스 번들

ListResourceBundle — 리스트 기반 리소스 번들

ListResourceBundle로케일 리소스를 편리하고 사용하기 쉬운 리스트로 관리하는 ResourceBundle의 추상 서브클래스예요. 리소스 번들 전반에 대한 내용은 ResourceBundle을 참고해요.

출처: Java API Reference

본문

public abstract class ListResourceBundle extends ResourceBundle

서브클래스는 getContents를 오버라이드해 배열을 제공해야 해요. 배열의 각 항목은 객체 쌍이며, 첫 요소는 키(String이어야 함), 두 번째 요소는 그 키와 연관된 값이에요. 키는 대소문자를 구분해요.

예를 들어 기본 이름이 "MyResources"인 번들 패밀리의 구성원을 만들 수 있어요. MyResources는 패밀리의 기본 구성원, MyResources_fr은 프랑스어 구성원이에요.

public class MyResources extends ListResourceBundle {
    protected Object[][] getContents() {
        return new Object[][] {
            {"s1", "The disk \"{1}\" contains {0}."},  // MessageFormat pattern
            {"s2", "1"},                                 // {0}의 위치
            {"s3", "My Disk"},                           // 샘플 디스크 이름
            {"s8", new Dimension(1,5)}                   // 문자열이 아닌 실제 객체
        };
    }
}

이렇게 값은 문자열뿐 아니라 실제 객체일 수도 있어요. 키는 프로그램에서 번들에서 객체를 가져올 때 사용하는 키와 같기만 하면 자유롭게 정할 수 있어요.

생성자와 메서드

  • ListResourceBundle() — 유일한 생성자예요(서브클래스 생성자에서 호출).
  • handleGetObject(String key)ResourceBundle에서 상속된 구현으로 키에 해당하는 값을 반환해요.
  • getKeys() — 이 번들과 부모 번들에 포함된 키들의 Enumeration을 반환해요.
  • handleKeySet() — 이 번들에만 포함된 키들의 Set을 반환해요.
  • getContents() — 각 항목이 객체 쌍인 배열을 반환하는 추상 메서드로, 서브클래스가 오버라이드해요.

더 알아보기 (Learn more)