|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.spi.LocaleServiceProvider
public abstract class LocaleServiceProvider
이것은, 로케일에 의존하는 모든 서비스 프로바이더 인터페이스 (SPI)의 슈퍼 클래스입니다.
로케일 의존 서비스 프로바이더 인터페이스는,java.text
및 java.util
패키지내의 로케일 의존 클래스에 대응하는 인터페이스입니다. 이러한 인터페이스를 사용하면, 이러한 패키지로 로케일 의존 객체를 구축하거나 로컬라이즈 된 이름을 취득하거나 할 수 있습니다. java.text
및 java.util
패키지내의 로케일에 의존하는 팩토리 메소드나 이름 취득 메소드는, 프로바이더 인터페이스의 구현을 사용하는 것으로, Java 실행 환경 자체가 지원하는 일련의 로케일에 포함되지 않는 로케일을 지원합니다.
특정의 구상 프로바이더 클래스가 복수의 구성 파일내, 또는 같은 구성 파일내에서 반복해 지정되고 있는 경우, 중복 한 지정은 무시됩니다. 특정의 프로바이더를 지정한 구성 파일을, 프로바이더 자체와 같은 JAR 파일 (또는 그 외의 배포 단위) 내에 포함할 필요는 없습니다. 이 프로바이더에는, 구성 파일의 검색시에 최초로 조회된 클래스 로더로부터 액세스 할 수 없으면 안됩니다. 덧붙여 그 클래스 로더는, 파일을 로드한 클래스 로더와 동일하다라고는 한정하지 않습니다.
예를 들어,DateFormatProvider
클래스의 구현은, 다음의 파일을 포함한 JAR 파일의 형태를 취해야 합니다.
META-INF/services/java.text.spi.DateFormatProvider그리고, 파일
java.text.spi.DateFormatProvider
에는 다음과 같은 행이 포함되어 있어야 합니다.
com.foo.DateFormatProviderImpl
이것은,DateFormatProvider
을 구현하는 클래스의 완전 수식 클래스명입니다.
java.text
및 java.util
패키지내의 로케일에 의존하는 팩토리 메소드나 이름 취득 메소드는, 서비스 프로바이더의 메소드를 필요에 따라서 호출하는 것으로, 요구된 로케일을 지원합니다. 그러한 메소드는 우선, Java 실행 환경 자체가 요구된 로케일을 지원할지 어떨지를 체크해, 지원가 사용 가능하면 그 지원를 사용합니다. 그 이외의 경우, 그것들은, 적절한 인터페이스의 인스톨이 끝난 프로바이더의 getAvailableLocales()
메소드를 호출하는 것으로, 요구된 로케일을 지원하는 프로바이더를 검색합니다. 그러한 프로바이더가 발견되었을 경우, 그 프로바이더의 그 외의 메소드가 불려 가 요구된 객체 또는 이름이 취득됩니다. Java 실행 환경 자체, 인스톨이 끝난 프로바이더의 어느쪽이나 요구된 로케일을 지원하지 않는 경우에는, 그 로케일의 변형 캐릭터 라인, 국문자열, 언어 캐릭터 라인 가운데, 공문자열이 아닌 최초의 것을 공문자열로 옮겨놓는 것으로 폴 백 로케일이 구축되어 검색 처리가 재개됩니다. 변형에 1 개 이상의 「_」이 포함되어 있는 경우에는, 그 변형을, 마지막 「_」이라고 거기에 계속되는 부분을 제거한 새로운 변형으로 옮겨놓는 것으로, 폴 백 로케일이 구축됩니다. 폴 백이 실행되는 경우에서도, 그 폴 백의 전에, 요구된 객체 또는 이름을 돌려주는 메소드가 원의 로케일을 지정해 불려 갑니다. 이 처리가 반드시 종료하기 위해서는, Java 실행 환경이 모든 로케일 의존 서비스에 대해서 루트 로케일을 지원하지 않으면 안됩니다.
이름의 프로바이더 (그 외의 객체의 프로바이더는 아니다)는,getAvailableLocales
의 반환값에 포함하는 것으로 지원를 선언한 로케일에 대해서도, 일부의 이름 요구에 null 를 돌려주는 것이 허락되고 있습니다. 같이 Java 실행 환경 자체는, 지원하는 모든 로케일의 모든 이름을 보관 유지하고 있지 않아도 괜찮습니다. 이것은, 이름의 요구 대상이 되는 객체군이, 규모가 크기도 하고 시간의 경과에 따라 변화하거나 할 가능성이 있기 (위해)때문에, 그것들을 완전하게 커버하는 것이 항상 실현 가능하다고는 할 수는 없기 때문입니다. Java 실행 환경 또는 프로바이더가 이름 대신에 null 를 돌려주었을 경우, 그 로케일이 전혀 지원되어 있지 않았는지와 같이, 상기로 설명했던 대로 검색 처리가 진행됩니다.
생성자 의 개요 | |
---|---|
protected |
LocaleServiceProvider ()
유일한 생성자 입니다. |
메소드의 개요 | |
---|---|
abstract Locale [] |
getAvailableLocales ()
이 로케일 서비스 프로바이더가 로컬라이즈 끝난 객체나 이름을 제공 가능한, 모든 로케일을 포함한 배열을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
protected LocaleServiceProvider()
메소드의 상세 |
---|
public abstract Locale [] getAvailableLocales()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.