Share via


ResourceBundle.Control 클래스

정의

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

[Android.Runtime.Register("java/util/ResourceBundle$Control", DoNotGenerateAcw=true)]
public class ResourceBundle.Control : Java.Lang.Object
[<Android.Runtime.Register("java/util/ResourceBundle$Control", DoNotGenerateAcw=true)>]
type ResourceBundle.Control = class
    inherit Object
상속
ResourceBundle.Control
특성

설명

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다. 즉, 는 ResourceBundle.Control 리소스 번들을 로드하기 위해 팩터리 메서드와 공동 작업합니다. 콜백 메서드의 기본 구현은 팩터리 메서드가 기본 동작을 수행하는 데 필요한 정보를 제공합니다.

콜백 메서드 외에도 및 #toResourceName(String, String) toResourceName 메서드는 콜백 메서드 #toBundleName(String, Locale) toBundleName 를 구현하는 데 편의를 위해 주로 정의됩니다. 그러나 지역화된 리소스의 toBundleName organization 및 패키징에 다양한 규칙을 제공하기 위해 메서드를 재정의할 수 있습니다. 메서드는 toResourceNamefinal 잘못된 리소스 및 클래스 이름 구분 기호를 사용하지 않도록 하는 것입니다.

두 팩터리 메서드 및 #getControl(List)#getNoFallbackControl(List)는 기본 번들 로드 프로세스의 일반적인 변형을 구현하는 인스턴스를 제공합니다 ResourceBundle.Control .

메서드에서 반환된 Control#getFormats(String) getFormats 형식과 메서드에서 반환된 후보 로캘은 ResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales 동일한 기본 번들에 대한 모든 ResourceBundle.getBundle 호출에서 일관되어야 합니다. 그렇지 않으면 메서드가 ResourceBundle.getBundle 의도하지 않은 번들을 반환할 수 있습니다. 예를 들어 에 대한 첫 번째 호출 및 두 번째 호출 ResourceBundle.getBundle 에 대해서만 "java.properties" 메서드에서 만 반환 getFormats 되는 경우 "java.class" 두 번째 호출은 첫 번째 호출 중에 캐시된 클래스 기반 클래스 기반 호출을 반환합니다.

여러 스레드에서 ResourceBundle.Control 동시에 사용되는 경우 instance 스레드로부터 안전해야 합니다. ResourceBundle.getBundle 는 메서드를 호출 ResourceBundle.Control 하기 위해 동기화되지 않습니다. 메서드의 기본 구현은 스레드로부터 안전합니다.

애플리케이션은 팩터리 메서드에서 getControl 반환되거나 의 ResourceBundle.Control 하위 클래스에서 만든 인스턴스를 지정 ResourceBundle.Control 하여 번들 로드 프로세스를 사용자 지정할 수 있습니다. 다음은 기본 번들 로드 프로세스를 변경하는 예입니다.

<b>예제 1</b>

다음 코드에서는 속성 기반 리소스만 조회할 수 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.properties 부모가 MyResources.properties인 를 로드합니다MyResources_fr_CH.properties. (MyResources_fr_CH.properties 는 숨겨지지 않지만 MyResources_fr_CH.class 는 숨겨집니다.)

<b>예제 2</b>

다음은 를 사용하여 Properties#loadFromXML(java.io.InputStream) Properties.loadFromXMLXML 기반 번들을 로드하는 예제입니다.

ResourceBundle rb = ResourceBundle.getBundle("Messages",
                new ResourceBundle.Control() {
                    public List&lt;String&gt; 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) {
                                        // Disable caches to get fresh data for
                                        // reloading.
                                        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&lt;String&gt; getKeys() {
                    ...
                }
            }

1.6에 추가되었습니다.

에 대한 Java 설명서입니다 java.util.ResourceBundle.Control.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

ResourceBundle.Control()

단독 생성자입니다.

ResourceBundle.Control(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

필드

TtlDontCache

로드된 리소스 번들 인스턴스를 캐싱하지 않는 TTL(Time to Live) 상수입니다.

TtlNoExpirationControl

캐시에서 로드된 리소스 번들 인스턴스에 대한 만료 제어를 사용하지 않도록 설정하기 위한 TTL(Time to Live) 상수입니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
FormatClass

를 포함하는 클래스 전용 형식 List 입니다 "java.class".

FormatDefault

문자열 "java.class""java.properties"를 이 순서대로 포함하는 기본 형식List입니다.

FormatProperties

를 포함하는 속성 전용 형식 List 입니다 "java.properties".

Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
JniPeerMembers

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

PeerReference

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Dispose()

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetCandidateLocales(String, Locale)

Listlocale에 대한 baseName 후보 로캘로 의 Locale를 반환합니다.

GetControl(IList<String>)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

GetFallbackLocale(String, Locale)

팩터리 Locale 메서드에서 추가 리소스 번들 검색을 위해 대체 로캘로 사용할 을 ResourceBundle.getBundle 반환합니다.

GetFormats(String)

List 지정된 baseNameString대한 리소스 번들을 로드하는 데 사용할 형식이 포함된 의 을 반환합니다.

GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetNoFallbackControl(IList<String>)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

GetTimeToLive(String, Locale)

ResourceBundle.Control아래에 로드된 리소스 번들에 대한 TTL(Time to Live) 값을 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64)

캐시에서 만료된 를 bundleloadTime 딩 시간 또는 다른 기준에 따라 다시 로드해야 하는지 여부를 결정합니다.

NewBundle(String, Locale, String, ClassLoader, Boolean)

필요한 경우 지정된 클래스 로더를 사용하여 지정된 형식 및 로캘의 지정된 번들 이름에 대한 리소스 번들을 인스턴스화합니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
ToBundleName(String, Locale)

지정된 baseNamelocale 를 번들 이름으로 변환합니다.

ToResourceName(String, String)

의 모든 발생을 로 바꾸고 및 지정된 파일을 추가하여 지정된 bundleName 을 메서드에 필요한 ClassLoader#getResource ClassLoader.getResource 형식으로 '.''/' 변환합니다 bundleName'.'.suffix

ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

GetJniTypeName(IJavaPeerable)

ResourceBundle.Control 는 번들 로드 프로세스 중에 팩터리 메서드에서 ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 호출하는 콜백 메서드 집합을 정의합니다.

적용 대상