|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.ResourceBundle.Control
public static class ResourceBundle.Control
ResourceBundle.Control
는, 번들 로드 처리중에 ResourceBundle.getBundle
팩토리 메소드에 의해 불려 가는 일련의 콜백 메소드를 정의합니다. 즉,ResourceBundle.Control
는, 자원 번들의 로드시에 팩토리 메소드와 제휴해 동작합니다. 콜백 메소드의 디폴트 구현은, 팩토리 메소드가디폴트 동작을 실행하기 위해서 필요한 정보를 제공합니다.
콜백 메소드 외에,toBundleName
및 toResourceName
메소드도 정의되고 있습니다. 이러한 주된 목적은, 콜백 메소드의 구현을 지원하는 것입니다. 다만,toBundleName
메소드를 오버라이드(override) 하면, 로컬라이즈가 끝난 자원의 구성이나 패키지화에 관한 다른 규약을 제공할 수 있습니다. toResourceName
메소드가 final
가 되어 있는 것은, 자원명이나 클래스명의 단락 문자의 오용을 회피하기 (위해)때문에입니다.
2 개의 팩토리 메소드 getControl(List)
와 getNoFallbackControl(List)
는, 디폴트의 번들 로드 처리의 일반적인 변화(variation)을 구현한 ResourceBundle.Control
인스턴스를 제공합니다.
getFormats
메소드로부터 반환되는 형식과 getCandidateLocales
메소드로부터 반환되는 후보 로케일은, 같은 기저 번들에 대한 모든 ResourceBundle.getBundle
호출로 일관성이 있는 것 나오지 않으면 안됩니다. 그렇지 않으면ResourceBundle.getBundle
메소드가 상정외의 번들을 돌려줄 가능성이 있습니다. 예를 들어,ResourceBundle.getBundle
의 첫회 호출시에 getFormats
메소드로부터「java.class」
만이 돌려주어져 2 번째의 호출시에「java.properties」
만이 돌려주어졌을 경우, 그 2 번째의 호출에서는, 첫회 호출시에 캐쉬에 포함된 클래스 베이스의 번들이 돌려주어집니다.
복수의 thread가 동시에 사용하는 ResourceBundle.Control
인스턴스는, thread에 대해서 안전하지 않으면 안됩니다. ResourceBundle.getBundle
는,ResourceBundle.Control
의 메소드를 호출할 때에 동기 처리를 실시하지 않습니다. 이러한 메소드의 디폴트 구현은, thread에 대해서 안전합니다.
어플리케이션은,getControl
팩토리 메소드로부터 반환된 ResourceBundle.Control
인스턴스를 지정할 수도 있고,ResourceBundle.Control
의 서브 클래스로부터 작성된 인스턴스를 지정해 번들 로드 처리를 커스터마이즈 할 수도 있습니다. 디폴트의 번들 로드 처리를 변경하는 예를, 다음에 나타냅니다.
프로그램예 1
다음의 코드의 경우,ResourceBundle.getBundle
는 프로퍼티 베이스의 자원만을 검색합니다.
import java.util. *; import static java.util.ResourceBundle.Control. *; ... ResourceBundle bundle = ResourceBundle.getBundle("MyResources", new Locale("fr", "CH"), ResourceBundle.Control.getControl(FORMAT_PROPERTIES));
ResourceBundle.getBundle
의 설명의예에 포함되는 자원 번들이 주어졌을 경우, 이 ResourceBundle.getBundle
호출에 의해 MyResources_fr_CH.properties
가 로드 됩니다. 그리고, 그 부모는 MyResources_fr.properties
가 되어, 한층 더 그 부모는 MyResources.properties
가 됩니다. (MyResources_fr_CH.properties
는 숨겨지지 않지만,MyResources_fr_CH.class
는 숨겨진다. )
프로그램예 2
Properties.loadFromXML
를 사용해 XML 베이스의 번들을 로드하는 예를, 다음에 나타냅니다.
ResourceBundle rb = ResourceBundle.getBundle("Messages", new ResourceBundle.Control() { public List<String> getFormats(String baseName) { if (baseName == null) throw new NullPointerException(); return Arrays.asList("xml"); } public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException, IOException { if (baseName == null || locale == null || format == null || loader == null) throw new NullPointerException(); ResourceBundle bundle = null; if (format.equals("xml")) { String bundleName = toBundleName(baseName, locale); String resourceName = toResourceName(bundleName, format); InputStream stream = null; if (reload) { URL url = loader.getResource(resourceName); if (url ! = null) { URLConnection connection = url.openConnection(); if (connection ! = null) { // 캐쉬를 무효로 하는 것으로, 재로드용의 최신 데이터를 // 취득할 수 있도록(듯이) 합니다. connection.setUseCaches(false); stream = connection.getInputStream(); } } } else { stream = loader.getResourceAsStream(resourceName); } if (stream ! = null) { BufferedInputStream bis = new BufferedInputStream(stream); bundle = new XMLResourceBundle(bis); bis.close(); } } return bundle; } }); ... private static class XMLResourceBundle extends ResourceBundle { private Properties props; XMLResourceBundle(InputStream stream) throws IOException { props = new Properties(); props.loadFromXML(stream); } protected Object handleGetObject(String key) { return props.getProperty(key); } public Enumeration<String> getKeys() { ... } }
필드의 개요 | |
---|---|
static List <String > |
FORMAT_CLASS
클래스만의 형식의 List . |
static List <String > |
FORMAT_DEFAULT
디폴트의 형식의 List . |
static List <String > |
FORMAT_PROPERTIES
프로퍼티만의 형식의 List . |
static long |
TTL_DONT_CACHE
로드 된 자원 번들 인스턴스를 캐쉬하지 않기 위한 유효기간 정수. |
static long |
TTL_NO_EXPIRATION_CONTROL
캐쉬내의 로드가 끝난 자원 번들 인스턴스의 유효기간 제어를 무효로 하기 위한 유효기간 정수. |
생성자 의 개요 | |
---|---|
protected |
ResourceBundle.Control ()
유일한 생성자 입니다. |
메소드의 개요 | |
---|---|
List <Locale > |
getCandidateLocales (String baseName,
Locale locale)
baseName 와 locale 에 대한 후보 로케일로서Locale 의 List 를 돌려줍니다. |
static ResourceBundle.Control |
getControl (List <String > formats)
getFormats 메소드가 지정된 formats 를 돌려주는 것 같은,ResourceBundle.Control 을 돌려줍니다. |
Locale |
getFallbackLocale (String baseName,
Locale locale)
ResourceBundle.getBundle 팩토리 메소드가 자원 번들을 한층 더 검색할 때의 폴 백 로케일로서 사용해야 할 Locale 를 돌려줍니다. |
List <String > |
getFormats (String baseName)
지정된 baseName 의 자원 번들을 로드할 때에 사용해야 할 형식이 포함된,String 의 List 를 돌려줍니다. |
static ResourceBundle.Control |
getNoFallbackControl (List <String > formats)
getFormats 메소드가 지정된 formats 를 돌려주어, 한편 getFallbackLocale 메소드가 null 를 돌려주는 것 같은,ResourceBundle.Control 을 돌려줍니다. |
long |
getTimeToLive (String baseName,
Locale locale)
이 ResourceBundle.Control 아래에서 로드 된 자원 번들의 유효기간 (TTL) 치를 돌려줍니다. |
boolean |
needsReload (String baseName,
Locale locale,
String format,
ClassLoader loader,
ResourceBundle bundle,
long loadTime)
캐쉬내에서 유효기간이 끊어진 bundle 를 재로드할 필요가 있을지 어떨지를,loadTime 로 지정된 로드 시각이나 그 외의 몇개의 조건에 근거해 판정합니다. |
ResourceBundle |
newBundle (String baseName,
Locale locale,
String format,
ClassLoader loader,
boolean reload)
지정된 형식과 로케일을 가지는 지정된 번들명의 자원 번들을, 지정된 클래스 로더를 필요에 따라서 사용해 인스턴스화합니다. |
String |
toBundleName (String baseName,
Locale locale)
지정된 baseName 와 locale 를 번들명으로 변환합니다. |
String |
toResourceName (String bundleName,
String suffix)
지정된 bundleName 을,ClassLoader.getResource 메소드가 요구하는 형식으로 변환합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
public static final List <String > FORMAT_DEFAULT
List
. 캐릭터 라인「java.class」
과「java.properties」
를 이 차례로 포함합니다. 이 List
는 변경 불가능 입니다.
getFormats(String)
public static final List <String > FORMAT_CLASS
List
. 「java.class」
를 포함합니다. 이 List
는변경 불가능합니다 .
getFormats(String)
public static final List <String > FORMAT_PROPERTIES
List
. 「java.properties」
를 포함합니다. 이 List
는변경 불가능합니다 .
getFormats(String)
public static final long TTL_DONT_CACHE
getTimeToLive(String, Locale)
,
정수 필드치 public static final long TTL_NO_EXPIRATION_CONTROL
getTimeToLive(String, Locale)
,
정수 필드치 생성자 의 상세 |
---|
protected ResourceBundle.Control()
메소드의 상세 |
---|
public static final ResourceBundle.Control getControl(List <String > formats)
getFormats
메소드가 지정된 formats
를 돌려주는 것 같은,ResourceBundle.Control
를 돌려줍니다. formats
는,FORMAT_PROPERTIES
,FORMAT_CLASS
,FORMAT_DEFAULT
의 어느쪽이든동일해집니다. 이 메소드가 돌려주는 ResourceBundle.Control
인스턴스는 단독으로 있어, thread에 대해서 안전합니다.
FORMAT_DEFAULT
를 지정하는 것은,ResourceBundle.Control
클래스를 인스턴스화하는 것으로 등가입니다. 다만, 이 메소드가 단독 객체를 돌려주는 점만은 다릅니다.
formats
- ResourceBundle.Control.getFormats
메소드로부터 돌려주어져야 할 형식
formats
를 지원하는 ResourceBundle.Control
NullPointerException
- formats
가 null
의 경우
IllegalArgumentException
- formats
가 불명한 경우public static final ResourceBundle.Control getNoFallbackControl(List <String > formats)
getFormats
메소드가 지정된 formats
를 돌려주어, 한편 getFallbackLocale
메소드가 null
를 돌려주는 것 같은,ResourceBundle.Control
를 돌려줍니다. formats
는,FORMAT_PROPERTIES
,FORMAT_CLASS
,FORMAT_DEFAULT
의 어느쪽이든동일해집니다. 이 메소드가 돌려주는 ResourceBundle.Control
인스턴스는 단독으로 있어, thread에 대해서 안전합니다.
formats
- ResourceBundle.Control.getFormats
메소드로부터 돌려주어져야 할 형식
formats
를 지원해, 폴 백 Locale
를 지원하지 않는 ResourceBundle.Control
NullPointerException
- formats
가 null
의 경우
IllegalArgumentException
- formats
가 불명한 경우public List <String > getFormats(String baseName)
baseName
의 자원 번들을 로드할 때에 사용해야 할 형식이 포함된,String
의 List
를 돌려줍니다. ResourceBundle.getBundle
팩토리 메소드는, 이 리스트내의 형식을 가지는 자원 번들을, 리스트내로 지정된 차례로 로드하려고 합니다. 이 메소드로부터 반환된 리스트에는, 적어도 1 개의 String
가 포함되지 않으면 안됩니다. 정의 끝난 형식은, 클래스 베이스의 자원 번들용의「java.class」
과프로퍼티 베이스 의 자원 번들용의「java.properties」
입니다. 「java.」
(으)로 시작되는 캐릭터 라인은, 장래의 확장용으로서 예약되고 있기 (위해)때문에, 어플리케이션 정의 형식에서는 사용하지 말아 주세요.
불변의 (변경 불가능한) List
를 돌려줄 필요는, 반드시 없습니다. 다만,List
가 getFormats
로부터 반환된 후에, 그 리스트를 변경 해서는 안됩니다.
디폴트 구현은 FORMAT_DEFAULT
를 돌려줍니다만, 이것은,ResourceBundle.getBundle
팩토리 메소드가 우선 클래스 베이스의 자원 번들을 검색해, 다음에 프로퍼티 베이스의 번들을 검색하도록(듯이) 하기 (위해)때문에입니다.
baseName
- 자원 번들의 기저명. 완전 지정 클래스명
String
의 List
NullPointerException
- baseName
가 null 의 경우FORMAT_DEFAULT
,
FORMAT_CLASS
,
FORMAT_PROPERTIES
public List <Locale > getCandidateLocales(String baseName, Locale locale)
baseName
와 locale
에 대한 후보 로케일로서Locale
의 List
를 돌려줍니다. 이 메소드는, 타겟 Locale
의 자원 번들의 검색을 ResourceBundle.getBundle
팩토리 메소드가 시도할 때마다, 그 팩토리 메소드에 의해 불려 갑니다.
후보 로케일에 대응하는 자원 번들이 존재하고 있어, 그러한 로드가 끝난 자원 번들 자체에는 부모가 정의되어 있지 않은 경우, 후보 로케일의 순서는, 실행시 자원 검색 패스 ( 「친연쇄」라고도 불린다)에도 대응합니다. 기저 번들을 친연쇄의 끝으로 할 필요가 있는 경우, 이 리스트의 마지막 요소는 루트 로케일 이 아니면 안됩니다.
지정된 로케일이 Locale.ROOT
(루트 로케일)에 동일한 경우, 루트의 Locale
만을 포함한 List
가 돌려주어집니다. 이 경우,ResourceBundle.getBundle
팩토리 메소드는, 결과적으로 얻을 수 있는 자원 번들로서 기저 번들만을 로드합니다.
불변의 (변경 불가능한) List
를 돌려줄 필요는, 반드시 없습니다. 다만,List
가 getCandidateLocales
로부터 반환된 후에, 그 리스트를 변경 해서는 안됩니다.
디폴트 구현은,Locale
가 다음의 차례로 포함된 List
를 돌려줍니다.
Locale(language, country, variant) Locale(language, country) Locale(language) Locale.ROOT여기서,
language
,country
,variant
는 각각, 지정된 locale
의 언어, 나라, 변형의 값이 됩니다. 마지막 요소의 값이 공문자열인 것 같은 로케일은, 생략 됩니다.
디폴트 구현은 ArrayList
를 사용합니다만, 이것은, 오버라이드(override) 한 구현내에서, 호출 바탕으로 돌려주어지기 전으로 변경할 수가 있습니다. 다만,getCandidateLocales
로부터 반환된 후에 서브 클래스내에서 변경 해서는 안됩니다.
예를 들어, 지정된 baseName
가 「Messages」이며, 지정된 locale
가 Locale("ja", "", "XX")
였을 경우, 반환되는 Locale
의 List
는,
Locale("ja", "", "XX") Locale("ja") Locale.ROOT(와)과 같이 됩니다. 그리고, 「ja」와「」의
Locale
에 대한 자원 번들이 발견되었을 경우, 실행시 자원 검색 패스 (친연쇄)는 다음과 같이 됩니다.
Messages_ja -> Messages
baseName
- 자원 번들의 기저명. 완전 지정 클래스명locale
- 자원 번들이 필요한 로케일
locale
에 대한 후보 Locale
의 List
NullPointerException
- baseName
또는 locale
가 null
의 경우public Locale getFallbackLocale(String baseName, Locale locale)
ResourceBundle.getBundle
팩토리 메소드가 자원 번들을 한층 더 검색할 때의 폴 백 로케일로서 사용해야 할 Locale
를 돌려줍니다. 이 메소드는,baseName
와 locale
에 대응하는 결과 자원 번들이 1 개도 발견되지 않는 상황이 발생할 때마다, 팩토리 메소드에 의해 불려 갑니다. 여기서, 그 로케일은,ResourceBundle.getBundle
의 파라미터, 이 메소드로부터 이전에 반환된 폴 백 로케일의 어느 쪽인가에 됩니다.
이 메소드는, 새로운 폴 백 검색이 필요없는 경우에 null
를 돌려줍니다.
디폴트 구현은, 지정된 locale
가 디폴트의 로케일이 아닌 경우에 디폴트의 Locale
를 돌려줍니다. 그 이외의 경우는,null
가 돌려주어집니다.
baseName
- 자원 번들의 기저명. 완전 지정 클래스명. ResourceBundle.getBundle
는 이 기저명에 대해서, 기저 번들 이외의 자원 번들을 1 개도 찾아낼 수 없었던locale
- Locale
. ResourceBundle.getBundle
는 이 로케일에 대해서, 기저 번들 이외의 자원 번들을 1 개도 찾아낼 수 없었다
Locale
. 새로운 폴 백 검색이 필요없는 경우는 null
NullPointerException
- baseName
또는 locale
가 null
의 경우public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) throws IllegalAccessException , InstantiationException , IOException
null
를 돌려줍니다. 예상외의 에러가 발생했기 때문에 자원 번들의 인스턴스화를 실시할 수 없는 경우에는, 단순하게 null
를 돌려주는 대신에,Error
또는 Exception
를 throw 하는 것으로 에러가 보고됩니다.
reload
플래그가 true
의 경우, 그것은, 이전에 로드 된 자원 번들의 유효기간이 끊어졌기 때문에 이 메소드가 불려 간 것을 나타냅니다.
디폴트 구현에 의한 ResourceBundle
의 인스턴스화 순서는, 다음과 같습니다.
toBundleName(baseName, locale)
를 호출하는 것으로 번들명이 취득된다. format
가「java.class」
의 경우, 번들명에 의해 지정되는 Class
가,ClassLoader.loadClass(String)
를 호출하는 것으로 로드 된다. 다음에,Class.newInstance()
를 호출하는 것으로 ResourceBundle
가 인스턴스화 된다. 덧붙여 이 디폴트 구현에서는, 클래스 베이스의 자원 번들을 로드하려면 reload
플래그가 무시된다. format
가「java.properties」
의 경우,toResourceName(bundlename, "properties")
를 호출하는 것으로 자원명이 취득된다. reload
가 true
의 경우,load.getResource
를 호출하는 것으로,URLConnection
를 작성하기 위한 URL
가 취득된다. 이 URLConnection
를 사용해, 기반이 되는 자원 로드 처리층의 캐쉬의 무효화 와InputStream
의 취득 을 한다. 그 이외의 경우는 loader.getResourceAsStream
가 불려 가InputStream
가 취득된다. 다음에, 그 InputStream
를 사용해 PropertyResourceBundle
가 구축된다. format
가「java.class」
,「java.properties」
의 머지않아도 아닌 경우는,IllegalArgumentException
가 throw 된다.
baseName
- 자원 번들의 기저 번들명. 완전 지정 클래스명locale
- 자원 번들의 인스턴스화 대상이 되는 로케일format
- 로드 되는 자원 번들의 형식loader
- 번들을 로드하기 위한 ClassLoader
reload
- 번들의 재로드를 나타내는 플래그. 유효기간이 끊어진 자원 번들을 재로드하는 경우는 true
, 그 이외의 경우는 false
null
NullPointerException
- bundleName
,locale
,format
, 또는 loader
가 null
의 경우, 또는 toBundleName
로부터 null
가 돌려주어졌을 경우
IllegalArgumentException
- format
가 불명한 경우, 또는 지정된 파라미터에 대해서 발견된 자원에 부정한 데이터가 포함되어 있는 경우
ClassCastException
- 로드 된 클래스를 ResourceBundle
에 캐스트 할 수 없는 경우
IllegalAccessException
- 클래스 또는 그 null 생성자 에 액세스 할 수 없는 경우
InstantiationException
- 클래스의 인스턴스화가 무엇인가 다른 이유로써 실패하는 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화가 실패했을 경우
SecurityException
- 시큐리티 매니저가 존재해, 새로운 인스턴스의 작성이 거부되었을 경우. 자세한 것은 Class.newInstance()
를 참조
IOException
- 어떠한 입출력 조작을 사용해 자원을 읽어낼 때에 에러가 발생했을 경우public long getTimeToLive(String baseName, Locale locale)
ResourceBundle.Control
아래에서 로드 된 자원 번들의 유효기간 (TTL) 치를 돌려줍니다. 정의 유효기간치는, 번들이 그 구축원이 되는 소스 데이터에 근거해 검증되지 않고 캐스트내에 머무를 수 있는 밀리 세컨드수를 나타냅니다. 값 0 은, 번들이 캐쉬로부터 취득될 때마다 검증되는 것을 나타냅니다. TTL_DONT_CACHE
는, 로드 된 자원 번들이 캐쉬에 포함되지 않는 것을 나타냅니다. TTL_NO_EXPIRATION_CONTROL
는, 로드 된 자원 번들이 유효기간 제어없이 캐쉬에 포함되는 것을 나타냅니다.
이 유효기간의 영향을 받는 것은,ResourceBundle.getBundle
팩토리 메소드에 의한 번들 로드 처리 뿐입니다. 즉, 팩토리 메소드는, 캐쉬내에서 유효기간이 끊어진 자원 번들을 검출하면(자),needsReload
메소드를 호출해, 그 자원 번들을 재로드할 필요가 있을지 어떨지를 판정합니다. needsReload
가 true
를 돌려주었을 경우, 그 캐쉬내의 자원 번들 인스턴스가 캐쉬로부터 삭제됩니다. 그 이외의 경우, 그 인스턴스는 캐쉬내에 머물러, 이 메소드로부터 반환된 새로운 TTL 치로 갱신됩니다.
캐쉬내의 자원 번들은 모두, 실행 환경의 메모리 제한에 의한, 캐쉬로부터의 삭제 대상이 됩니다. 큰 정의 값이 돌려주어져도, 그것은, 로드 된 자원 번들이 캐쉬내에서 락 되는 것을 의미하는 것은 아닙니다.
디폴트 구현은 TTL_NO_EXPIRATION_CONTROL
를 돌려줍니다.
baseName
- 유효기간치가 지정되고 있는 자원 번들의 기저명locale
- 유효기간치가 지정되고 있는 자원 번들의 로케일
TTL_NO_EXPIRATION_CONTROL
, 캐쉬를 무효로 하는 경우는 TTL_DONT_CACHE
NullPointerException
- baseName
또는 locale
가 null
의 경우public boolean needsReload(String baseName, Locale locale, String format, ClassLoader loader, ResourceBundle bundle, long loadTime)
bundle
를 재로드할 필요가 있을지 어떨지를,loadTime
로 지정된 로드 시각이나 그 외의 몇개의 조건에 근거해 판정합니다. 이 메소드는, 재로드가 필요한 경우는 true
를 돌려주어, 그 이외의 경우는 false
를 돌려줍니다. loadTime
는,Calendar
의 신기원으로부터의 밀리 세컨드 오프셋(offset)입니다.
호출원의 ResourceBundle.getBundle
팩토리 메소드는, 이 자원 번들을 최초로 로드한 호출로 사용되고 있던 ResourceBundle.Control
인스턴스는 아니고, 현재의 호출로 사용되고 있는 인스턴스상에서, 이 메소드를 호출합니다.
디폴트 구현은, 자원 번들의 loadTime
와 그 소스 데이터가 마지막에 변경된 시각을 비교합니다. loadTime
이후에 소스 데이터가 변경되었던 것이 판명되었을 경우에는,true
가 돌려주어집니다. 그 이외의 경우는 false
가 돌려주어집니다. 이 구현은, 지정된 format
가 디폴트의 형식 「java.class」
,「java.properties」
의 머지않아도 아닌 경우, 그 형식이 파일접미사(suffix)과 같은 캐릭터 라인이라고 가정합니다.
baseName
- 자원 번들의 기저 번들명. 완전 지정 클래스명locale
- 자원 번들의 인스턴스화 대상이 되는 로케일format
- 로드 되는 자원 번들의 형식loader
- 번들을 로드하기 위한 ClassLoader
bundle
- 캐쉬내에서 유효기간이 끊어진 자원 번들 인스턴스loadTime
- bundle
가 로드 되어 캐쉬내에 포함되었을 때 각
true
, 그 이외의 경우는 false
NullPointerException
- baseName
,locale
,format
,loader
, 또는 bundle
가 null
의 경우public String toBundleName(String baseName, Locale locale)
baseName
와 locale
를 번들명으로 변환합니다. 이 메소드는,newBundle
및 needsReload
메소드의 디폴트 구현으로부터 불려 갑니다.
이 구현은 다음의 값을 돌려줍니다.
baseName + "_" + language + "_" + country + "_" + variant여기서,
language
,country
,variant
는 각각,locale
의 언어, 나라, 변형의 값이 됩니다. 마지막 요소의 값이 빈 상태(empty)의 String 인 경우, 그 값과 직전의 「_」은 생략 됩니다. 모든 값이 빈 상태(empty)의 캐릭터 라인인 경우에는,baseName
가 돌려주어집니다.
예를 들어,baseName
가「baseName」
,locale
가 Locale("ja", "", "XX")
의 경우는,「baseName_ja_ _XX」
」이 돌려주어집니다. 지정된 로케일이 Locale("en")
의 경우는,「baseName_en」
가 돌려주어집니다.
이 메소드를 오버라이드(override) 하면, 로컬라이즈가 끝난 자원의 구성이나 패키지화에 관한 다른 규약을 어플리케이션으로 사용할 수 있습니다.
baseName
- 자원 번들의 기저명. 완전 지정 클래스명locale
- 자원 번들의 로드 대상이 되는 로케일
NullPointerException
- baseName
또는 locale
가 null
의 경우public final String toResourceName(String bundleName, String suffix)
bundleName
을,ClassLoader.getResource
메소드가 요구하는 형식으로 변환합니다. 구체적으로는,bundleName
내의 모든「.」
(을)를「/」
에 옮겨놓아 그 말미에「.」
(와)과 지정된 파일 suffix
를 추가합니다. 예를 들어,bundleName
가「foo.bar.MyResources_ja_JP」
,suffix
가「properties」
의 경우,「foo/bar/MyResources_ja_JP.properties」
가 돌려주어집니다.
bundleName
- 번들명suffix
- 파일 타입접미사(suffix)
NullPointerException
- bundleName
또는 suffix
가 null
의 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.