|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.naming.spi.NamingManager
public class NamingManager
문맥 객체, 및 네이밍 서비스 또는 디렉토리 서비스의 위치 정보의 참조처 객체를 생성하는 메소드를 포함하는 클래스입니다.
이 클래스는 인스턴스화할 수 없습니다. 이 클래스는 static 메소드만을 가지고 있습니다.
이 클래스의 문서의 URL 의 기재는, RFC 1738 및 그 관련 RFC 로 정의되고 있는 URL 캐릭터 라인을 적용하고 있습니다. 문서의 URL 는 RFC 1738 등으로 진술되고 있는 구문에 따르는 캐릭터 라인이며, 반드시 java.net.URL 클래스 또는 Web 브라우저에 해당하는 지원가 있는 것은 아닙니다.
NamingManager 는, 복수의 thread에 의한 병행 액세스에 대해서 안전합니다.
별도 주석이 있는 경우를 제외해,Name 또는 메소드에게 건네지는 환경 파라미터는, 호출측이 소유합니다. 구현은 객체를 변경하지 않고, 그 객체에 대한 참조도 보관 유지합니다만, 그 복제 또는 카피에 대한 참조를 보관 유지하는 일이 있습니다.
필드의 개요 | |
---|---|
static String |
CPE
getContinuationContext() 가 그 CannotProceedException 파라미터의 값을 포함하는 환경 프로퍼티의 이름을 보관 유지하는 정수입니다. |
메소드의 개요 | |
---|---|
static Context |
getContinuationContext (CannotProceedException cpe)
문맥 조작을 계속하는 문맥을 생성합니다. |
static Context |
getInitialContext (Hashtable <?,?> env)
지정된 환경 프로퍼티을 사용해, 초기 문맥을 생성합니다. |
static Object |
getObjectInstance (Object refInfo,
Name name,
Context nameCtx,
Hashtable <?,?> environment)
지정된 객체 및 환경에 객체의 인스턴스를 생성합니다. |
static Object |
getStateToBind (Object obj,
Name name,
Context nameCtx,
Hashtable <?,?> environment)
객체의 바인딩 상태를 가져옵니다. |
static Context |
getURLContext (String scheme,
Hashtable <?,?> environment)
지정된 URL schema ID 에 문맥을 생성합니다. |
static boolean |
hasInitialContextFactoryBuilder ()
초기 문맥 팩토리 빌더가 설정되어 있는지 어떤지를 판정합니다. |
static void |
setInitialContextFactoryBuilder (InitialContextFactoryBuilder builder)
InitialContextFactory 빌더가 빌더인 것을 지정합니다. |
static void |
setObjectFactoryBuilder (ObjectFactoryBuilder builder)
ObjectFactoryBuilder 는, 객체 팩토리를 로드할 때에 사용하는 정책를 결정합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
public static final String CPE
이 정수의 값은 java.naming.spi.CannotProceedException 입니다.
getContinuationContext(javax.naming.CannotProceedException)
,
정수 필드치 메소드의 상세 |
---|
public static void setObjectFactoryBuilder(ObjectFactoryBuilder builder) throws NamingException
빌더를 인스톨 할 수 있는 것은, 시큐리티 매니저의 checkSetFactory() 메소드가 실행중의 thread에 인스톨을 허가했을 경우에 한정합니다. 한 번 인스톨 하면(자), 빌더를 옮겨놓을 수 없습니다.
builder
- 인스톨 하는 팩토리 빌더. null 의 경우, 인스톨 되는 빌더가 없다
SecurityException
- 시큐리티상의 이유로부터, 빌더를 인스톨 할 수 없는 경우
NamingException
- 시큐리티 관련 이외의 이유로써, 빌더를
인스톨 할 수 없는 경우
IllegalStateException
- 팩토리가 벌써 인스톨 되고 있는 경우getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
ObjectFactory
,
ObjectFactoryBuilder
,
SecurityManager.checkSetFactory()
public static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable <?,?> environment) throws Exception
객체 팩토리 빌더가 인스톨 되고 있는 경우, 그 빌더를 사용해, 객체를 생성하는 팩토리를 생성합니다. 그렇지 않은 경우는, 다음의 규칙을 사용해 객체를 생성합니다.
refInfo
가 팩토리 클래스명을 포함하는 Reference
또는 Referenceable
인 경우, 지정된 팩토리를 사용해 객체를 생성합니다. 팩토리를 생성할 수 없는 경우는 refInfo
를 돌려줍니다. JDK 1.1 에서는, 참조로 지정된 위치로부터 팩토리 클래스를 로드할 필요가 있는 경우,SecurityManager 를 인스톨 되어 있는 것이 필요합니다. 인스톨 하고 있지 않는 경우, 팩토리 생성은 실패합니다. 팩토리의 생성중에 예외가 검출되었을 경우, 그 예외는 호출해 측에 인도해집니다.
refInfo
를 돌려줍니다. 객체의 생성중에 예외가 검출되었을 경우, 그 예외는 호출해 측에 인도해집니다.
DirContext 인터페이스를 구현하고 있는 서비스 프로바이더는, 이 메소드는 아니고 DirectoryManager.getObjectInstance() 를 사용하도록(듯이) 합니다. Context 인터페이스만을 구현하고 있는 서비스 프로바이더가 이 메소드를 사용하도록(듯이) 합니다.
객체 팩토리 (ObjectFactory 인터페이스를 구현하고 있는 객체)는 public 인 것이 필요해, 또 인수를 취하지 않는 public 생성자 을 가질 필요가 있습니다.
name
파라미터 및 nameCtx
파라미터를 임의에 사용해, 생성중의 객체의 이름을 지정할 수 있습니다. name
는 객체의 이름으로, 문맥 nameCtx
에 관련합니다. 이 정보는, 객체 팩토리 또는 객체 구현에 유용한 경우가 있습니다. 객체를 명명할 수 있는 문맥이 다수 있는 일도 있습니다만, 그 경우는 호출해 옆이 선택합니다. 대범한 지침으로서 사용 가능한 「가장 깊다」문맥을 선택하는 것을 추천합니다. nameCtx
가 null 의 경우,name
는 디폴트의 초기 문맥에 관련하고 있습니다. 이름을 지정하지 않는 경우는 name
파라미터가 null 가 되도록(듯이) 합니다.
refInfo
- 객체 생성 대상의, null 의 가능성이 있는 객체name
- nameCtx
에 관련하는 이 객체의 이름.
생략 하는 경우,name
는 null
name
파라미터의 지정에 관련하는 문맥. nameCtx
- null 의 경우,name
는 디폴트의 초기 문맥에 관련한다
객체 팩토리 및 객체의 생성에 사용되는, null 의 가능성이 있는 환경environment
- null 의 가능성이 있는, 객체 팩토리
및 문맥의 생성에 사용되는 환경 프로퍼티
refInfo
를 사용해 생성된 객체, 또는
상기의 알고리즘을 사용해 객체를 생성할 수 없었던 경우는
refInfo
NamingException
- URL 문맥을 취득할 경우에 네이밍 예외가
발견되었을 경우, 또는 액세스 한 팩토리의 1 개가
NamingException 를 throw 했을 경우
Exception
- 액세스 된 팩토리의 1 개가 예외를 스로 했을 경우,
또는 팩토리 및 객체 클래스의 로드 및
인스턴스화중에 에러가 발견되었을 경우
팩토리는, 객체 생성에 다른 팩토리를 사용하고 싶지 않은 경우에 한정해 예외를 throw 하도록(듯이) 한다.
ObjectFactory.getObjectInstance()를 참조getURLContext(java.lang.String, java.util.Hashtable, ? >)
,
ObjectFactory
,
ObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
public static Context getURLContext(String scheme, Hashtable <?,?> environment) throws NamingException
생성된 문맥은, schema scheme
의 URL 를 해결하기 위한의 것입니다. 결과의 문맥은 특정의 URL 와는 연결시킬 수 없습니다. 이 문맥은 지정된 schema로 임의의 URL 를 처리할 수 있습니다.
결과의 문맥을 생성하는 팩토리의 클래스명은, 이하로 지정되도록(듯이), 패키지에 이름 변환 scheme-idURLContextFactory (예를 들어 ftp schema ID 이면 ftpURLContextFactory)를 가지고 있습니다. Context.URL_PKG_PREFIXES 환경 프로퍼티 (애플릿 파라미터, 시스템 프로퍼티, 또는 어플리케이션 resource file로부터 취한 값을 포함한 경우가 있다)은, 구두점으로 단락지어진 패키지 접두사의 리스트를 포함합니다. 프로퍼티의 각 패키지 접두사에는, 지정된 순서로 팩토리 클래스의 로드가 시도됩니다. 디폴트의 패키지 접두사는 com.sun.jndi.url 입니다 (지정된 패키지가 어느 것도 성공하지 않는 경우, 이 디폴트가 시험 받는다). 완전한 패키지명이 패키지 접두사를 사용해 구축되어 schema ID 에 연결됩니다.
예를 들어, schema ID 가 ldap 로 Context.URL_PKG_PREFIXES 프로퍼티이 com.widget:com.wiz.jndi 를 포함한 경우, 네이밍 매니저는 이하의 클래스의 로드를 시행해, 어떤 것이나 1 개를 인스턴스화할 수 없을지 이것을 계속합니다.
팩토리가 인스턴스화 되면(자), 그 인스턴스는 다음의 파라미터로 불려 가 문맥을 생성합니다.
factory.getObjectInstance(null, environment) ;
예를 들어, LDAP URL 문맥 팩토리로 getObjectInstance()를 상기와 같이 호출하면(자), LDAP URL 를 해결할 수 있는 문맥이 돌려주어집니다 (ldap://ldap.wiz.com/o=wiz, c=us, ldap://ldap.umich.edu/o=umich, c=us 등).
객체 팩토리 (ObjectFactory 인터페이스를 구현하고 있는 객체)는 public 인 것이 필요해, 또 인수를 취하지 않는 public 생성자 을 가질 필요가 있습니다.
scheme
- 문맥이 지원하는 URL 의 null 이외의 schema IDenvironment
- null 의 가능성이 있는, 객체 팩토리 및 문맥
의 생성에 사용되는 환경 프로퍼티
null
NamingException
- 문맥의 작성중에 네이밍 예외가
발생했을 경우getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
ObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
public static Context getInitialContext(Hashtable <?,?> env) throws NamingException
InitialContextFactoryBuilder 가 인스톨 되고 있는 경우, 그것을 사용해 초기 문맥을 생성하는 팩토리를 생성합니다. 그렇지 않은 경우는,Context.INITIAL_CONTEXT_FACTORY 환경 프로퍼티으로 지정된 클래스가 사용됩니다. 초기 문맥 팩토리 (InitialContextFactory 인터페이스를 구현하고 있는 객체)는 public 인 것이 필요해, 또 인수를 취하지 않는 public 생성자 을 가지고 있을 필요가 있습니다.
env
- null 의 가능성이 있는, 문맥의 생성시에 사용된다
환경 프로퍼티
NoInitialContextException
- Context.INITIAL_CONTEXT_FACTORY 프로퍼티이
검출되지 않는가, 존재하지 않는 클래스 또는
인스턴스화할 수 없는 클래스를 이 프로퍼티이 지정했을 경우,
혹은 다른 이유로써 초기 문맥을 생성할 수 없는 경우
NamingException
- 다른 네이밍 예외가 발견되었을 경우InitialContext
,
InitialDirContext
public static void setInitialContextFactoryBuilder(InitialContextFactoryBuilder builder) throws NamingException
빌더를 인스톨 할 수 있는 것은, 실행중의 thread에 시큐리티 매니저가 인스톨을 허가했을 경우에 한정합니다. 한 번 인스톨 하면(자), 빌더를 옮겨놓을 수 없습니다.
builder
- 인스톨 하는 초기 문맥 팩토리 빌더. null 의 경우,
빌더가 설정되어 있지 않다
SecurityException
- 시큐리티상의 이유로부터, 빌더를 인스톨 할 수 없는 경우
NamingException
- 시큐리티 관련 이외의 이유로써, 빌더를
인스톨 할 수 없는 경우
IllegalStateException
- 빌더가 벌써 인스톨 되고 있는 경우hasInitialContextFactoryBuilder()
,
SecurityManager.checkSetFactory()
public static boolean hasInitialContextFactoryBuilder()
setInitialContextFactoryBuilder(javax.naming.spi.InitialContextFactoryBuilder)
public static Context getContinuationContext(CannotProceedException cpe) throws NamingException
복수의 이름 공간에 걸치는 이름으로 조작을 실시하는 경우, 1 개의 네이밍 시스템의 문맥이 그 조작을 다음의 네이밍 시스템에 건네줄 필요가 있는 일이 있습니다. 문맥 구현은 이것을 실시하기 위해서(때문에), 얼마나 처리했는지를 정확하게 가리키는 정보를 포함하는 CannotProceedException
를 최초로 구축합니다. 계속되어 getContinuationContext
를 호출해, JNDI 로부터 계속 문맥을 가져옵니다. 문맥 구현은 계속 문맥의 같은 조작을 호출해, 아직 해결되어 있지 않은 이름의 나머지의 부분을 사용해 문맥 조작을 재개합니다.
cpe 파라미터를 사용하기 전에 이 메소드는, 프로퍼티 CPE 의 값을 cpe 로 설정하는 것에 의해, 그 객체에 관련지을 수 있었던 환경을 갱신합니다. 이 프로퍼티은 계속 문맥이 상속해, 그 문맥의 서비스 프로바이더가 이 예외의 필드를 조사하는데 사용합니다.
cpe
- 이 계속을 트리거한 null 이외의 예외
NamingException
- 네이밍 예외가 발생했을 경우public static Object getStateToBind(Object obj, Name name, Context nameCtx, Hashtable <?,?> environment) throws NamingException
DirContext 인터페이스를 구현하고 있는 서비스 프로바이더는, 이 메소드는 아니고 DirectoryManager.getStateToBind() 를 사용하도록(듯이) 합니다. Context 인터페이스만을 구현하고 있는 서비스 프로바이더가 이 메소드를 사용하도록(듯이) 합니다.
이 메소드는, 환경 프로퍼티의 Context.STATE_FACTORIES 프로퍼티 및 nameCtx 에 관련한 프로바이더 resource file의 Context.STATE_FACTORIES 프로퍼티으로 지정된 상태 팩토리를, 이 차례로 사용합니다. 이 프로퍼티의 값은, 순서에 시험 받는 팩토리 클래스명의, 구두점으로 단락지어진 리스트이며, 객체 상태를 돌려주는 것에 성공한 최초의 값이 사용됩니다. 이 방법으로 객체 상태를 아무것도 취득할 수 없는 경우, 객체 자체를 돌려줍니다. 상태의 취득중에 예외가 검출되었을 경우, 그 예외는 호출해 측에 인도해집니다.
상태 팩토리 (StateFactory 인터페이스를 구현하고 있는 객체)는 public 인 것이 필요해, 또 인수를 취하지 않는 public 생성자 을 가질 필요가 있습니다.
name
파라미터 및 nameCtx
파라미터를 임의에 사용해, 생성중의 객체의 이름을 지정할 수 있습니다. 자세한 것은,ObjectFactory.getObjectInstance()
의 「이름 파라미터와 문맥 파라미터」의 설명을 참조해 주세요.
이 메소드는 Referenceable 객체를 돌려주는 일이 있습니다. 이 객체를 취득하는 서비스 프로바이더는, 이 객체를 직접 포함하든가, 혹은 Referenceable.getReference() 를 사용해 그 참조를 추출해 대신에 그것을 포함하는지를 선택할 수 있습니다.
obj
- 바인드 하는 상태의 취득 대상이 되는 null 이외의 객체name
- nameCtx
에 관련하는 이 객체의 이름.
또는, 이름을 지정하지 않는 경우는 nullnameCtx
- name
파라미터의 지정에 관련하는 문맥,
또는 name
가 디폴트의 초기 문맥에
관련하는 경우는 nullenvironment
- 상태 팩토리 및 객체 상태의 생성에 사용되는, null 의 가능성이 있는 환경
NamingException
- 액세스 된 팩토리의 1 개가 예외를 throw 했을 경우,
또는 팩토리 및 객체 클래스의 로드 및
인스턴스화중에 에러가 발견되었을 경우
팩토리는, 객체 생성에 다른 팩토리를 사용하지 않는 경우에 한정해
예외를 throw 하도록(듯이) 한다
StateFactory.getStateToBind() 를 참조StateFactory
,
StateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
DirectoryManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >, javax.naming.directory.Attributes)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.