JavaTM Platform
Standard Ed. 6

javax.naming.spi
클래스 NamingManager

java.lang.Object 
  상위를 확장 javax.naming.spi.NamingManager
직계의 기존의 서브 클래스:
DirectoryManager


public class NamingManager
extends Object

문맥 객체, 및 네이밍 서비스 또는 디렉토리 서비스의 위치 정보의 참조처 객체를 생성하는 메소드를 포함하는 클래스입니다.

이 클래스는 인스턴스화할 수 없습니다. 이 클래스는 static 메소드만을 가지고 있습니다.

이 클래스의 문서의 URL 의 기재는, RFC 1738 및 그 관련 RFC 로 정의되고 있는 URL 캐릭터 라인을 적용하고 있습니다. 문서의 URL 는 RFC 1738 등으로 진술되고 있는 구문에 따르는 캐릭터 라인이며, 반드시 java.net.URL 클래스 또는 Web 브라우저에 해당하는 지원가 있는 것은 아닙니다.

NamingManager 는, 복수의 thread에 의한 병행 액세스에 대해서 안전합니다.

별도 주석이 있는 경우를 제외해,Name 또는 메소드에게 건네지는 환경 파라미터는, 호출측이 소유합니다. 구현은 객체를 변경하지 않고, 그 객체에 대한 참조도 보관 유지합니다만, 그 복제 또는 카피에 대한 참조를 보관 유지하는 일이 있습니다.

도입된 버젼:
1.3

필드의 개요
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
 

필드의 상세

CPE

public static final String  CPE
getContinuationContext() 가 그 CannotProceedException 파라미터의 값을 포함하는 환경 프로퍼티의 이름을 보관 유지하는 정수입니다. 이 프로퍼티은 계속 문맥이 상속해, 그 문맥의 서비스 프로바이더가 예외의 필드를 조사하는데 사용합니다.

이 정수의 값은 java.naming.spi.CannotProceedException 입니다.

도입된 버젼:
1.3
관련 항목:
getContinuationContext(javax.naming.CannotProceedException) , 정수 필드치
메소드의 상세

setObjectFactoryBuilder

public static void setObjectFactoryBuilder(ObjectFactoryBuilder  builder)
                                    throws NamingException 
ObjectFactoryBuilder 는, 객체 팩토리를 로드할 때에 사용하는 정책를 결정합니다. 디폴트의 정책의 설명에 대해서는, getObjectInstance() 및 class ObjectFactory 를 참조해 주세요. ObjectFactoryBuilder 를 인스톨 하는 것에 의해, setObjectFactoryBuilder()가 이 디폴트의 정책를 오버라이드(override) 합니다. 후속의 객체 팩토리는, 인스톨 된 빌더를 사용해 로드 및 생성됩니다.

빌더를 인스톨 할 수 있는 것은, 시큐리티 매니저의 checkSetFactory() 메소드가 실행중의 thread에 인스톨을 허가했을 경우에 한정합니다. 한 번 인스톨 하면(자), 빌더를 옮겨놓을 수 없습니다.

파라미터:
builder - 인스톨 하는 팩토리 빌더. null 의 경우, 인스톨 되는 빌더가 없다
예외:
SecurityException - 시큐리티상의 이유로부터, 빌더를 인스톨 할 수 없는 경우
NamingException - 시큐리티 관련 이외의 이유로써, 빌더를 인스톨 할 수 없는 경우
IllegalStateException - 팩토리가 벌써 인스톨 되고 있는 경우
관련 항목:
getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable) , ObjectFactory , ObjectFactoryBuilder , SecurityManager.checkSetFactory()

getObjectInstance

public static Object  getObjectInstance(Object  refInfo,
                                       Name  name,
                                       Context  nameCtx,
                                       Hashtable <?,?> environment)
                                throws Exception 
지정된 객체 및 환경에 객체의 인스턴스를 생성합니다.

객체 팩토리 빌더가 인스톨 되고 있는 경우, 그 빌더를 사용해, 객체를 생성하는 팩토리를 생성합니다. 그렇지 않은 경우는, 다음의 규칙을 사용해 객체를 생성합니다.

  1. refInfo 가 팩토리 클래스명을 포함하는 Reference 또는 Referenceable 인 경우, 지정된 팩토리를 사용해 객체를 생성합니다. 팩토리를 생성할 수 없는 경우는 refInfo 를 돌려줍니다. JDK 1.1 에서는, 참조로 지정된 위치로부터 팩토리 클래스를 로드할 필요가 있는 경우,SecurityManager 를 인스톨 되어 있는 것이 필요합니다. 인스톨 하고 있지 않는 경우, 팩토리 생성은 실패합니다. 팩토리의 생성중에 예외가 검출되었을 경우, 그 예외는 호출해 측에 인도해집니다.
  2. refInfo 가 팩토리 클래스명을 가지지 않는 Reference 또는 Referenceable 로, 한편 주소가 주소형 「URL」의 StringRefAddr 인 경우, 각 URL 의 schema ID 에 대응하는 URL 문맥 팩토리로 객체의 생성을 시도합니다 (getURLContext() 를 참조). 이것이 실패했을 경우는, 다음의 순서에 진행됩니다.
  3. 환경의 Context.OBJECT_FACTORIES 프로퍼티 및 nameCtx 에 관련한 프로바이더 resource file의 Context.OBJECT_FACTORIES 프로퍼티으로 지정된 객체 팩토리를, 이 차례로 사용합니다. 이 프로퍼티의 값은, 순서에 시험 받는 팩토리 클래스명의, 구두점으로 단락지어진 리스트이며, 객체 생성에 최초로 성공한 값이 사용됩니다. 팩토리를 아무것도 로드할 수 없는 경우,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)

getURLContext

public static Context  getURLContext(String  scheme,
                                    Hashtable <?,?> environment)
                             throws NamingException 
지정된 URL schema ID 에 문맥을 생성합니다.

생성된 문맥은, 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 개를 인스턴스화할 수 없을지 이것을 계속합니다.

패키지 접두사가 어느 것도 성공하지 않는 경우, null 가 돌려주어집니다.

팩토리가 인스턴스화 되면(자), 그 인스턴스는 다음의 파라미터로 불려 가 문맥을 생성합니다.

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 ID
environment - null 의 가능성이 있는, 객체 팩토리 및 문맥 의 생성에 사용되는 환경 프로퍼티
반환값:
schema ID scheme 를 사용해 URL 를 해결하는 문맥 문맥을 생성하는 팩토리가 검출되지 않는 경우는 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)

getInitialContext

public static Context  getInitialContext(Hashtable <?,?> env)
                                 throws NamingException 
지정된 환경 프로퍼티을 사용해, 초기 문맥을 생성합니다.

InitialContextFactoryBuilder 가 인스톨 되고 있는 경우, 그것을 사용해 초기 문맥을 생성하는 팩토리를 생성합니다. 그렇지 않은 경우는,Context.INITIAL_CONTEXT_FACTORY 환경 프로퍼티으로 지정된 클래스가 사용됩니다. 초기 문맥 팩토리 (InitialContextFactory 인터페이스를 구현하고 있는 객체)는 public 인 것이 필요해, 또 인수를 취하지 않는 public 생성자 을 가지고 있을 필요가 있습니다.

파라미터:
env - null 의 가능성이 있는, 문맥의 생성시에 사용된다 환경 프로퍼티
반환값:
null 이외의 초기 문맥
예외:
NoInitialContextException - Context.INITIAL_CONTEXT_FACTORY 프로퍼티이 검출되지 않는가, 존재하지 않는 클래스 또는 인스턴스화할 수 없는 클래스를 이 프로퍼티이 지정했을 경우, 혹은 다른 이유로써 초기 문맥을 생성할 수 없는 경우
NamingException - 다른 네이밍 예외가 발견되었을 경우
관련 항목:
InitialContext , InitialDirContext

setInitialContextFactoryBuilder

public static void setInitialContextFactoryBuilder(InitialContextFactoryBuilder  builder)
                                            throws NamingException 
InitialContextFactory 빌더가 빌더인 것을 지정합니다.

빌더를 인스톨 할 수 있는 것은, 실행중의 thread에 시큐리티 매니저가 인스톨을 허가했을 경우에 한정합니다. 한 번 인스톨 하면(자), 빌더를 옮겨놓을 수 없습니다.

파라미터:
builder - 인스톨 하는 초기 문맥 팩토리 빌더. null 의 경우, 빌더가 설정되어 있지 않다
예외:
SecurityException - 시큐리티상의 이유로부터, 빌더를 인스톨 할 수 없는 경우
NamingException - 시큐리티 관련 이외의 이유로써, 빌더를 인스톨 할 수 없는 경우
IllegalStateException - 빌더가 벌써 인스톨 되고 있는 경우
관련 항목:
hasInitialContextFactoryBuilder() , SecurityManager.checkSetFactory()

hasInitialContextFactoryBuilder

public static boolean hasInitialContextFactoryBuilder()
초기 문맥 팩토리 빌더가 설정되어 있는지 어떤지를 판정합니다.

반환값:
초기 문맥 팩토리 빌더가 설정되어 있는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
setInitialContextFactoryBuilder(javax.naming.spi.InitialContextFactoryBuilder)

getContinuationContext

public static Context  getContinuationContext(CannotProceedException  cpe)
                                      throws NamingException 
문맥 조작을 계속하는 문맥을 생성합니다.

복수의 이름 공간에 걸치는 이름으로 조작을 실시하는 경우, 1 개의 네이밍 시스템의 문맥이 그 조작을 다음의 네이밍 시스템에 건네줄 필요가 있는 일이 있습니다. 문맥 구현은 이것을 실시하기 위해서(때문에), 얼마나 처리했는지를 정확하게 가리키는 정보를 포함하는 CannotProceedException 를 최초로 구축합니다. 계속되어 getContinuationContext 를 호출해, JNDI 로부터 계속 문맥을 가져옵니다. 문맥 구현은 계속 문맥의 같은 조작을 호출해, 아직 해결되어 있지 않은 이름의 나머지의 부분을 사용해 문맥 조작을 재개합니다.

cpe 파라미터를 사용하기 전에 이 메소드는, 프로퍼티 CPE 의 값을 cpe 로 설정하는 것에 의해, 그 객체에 관련지을 수 있었던 환경을 갱신합니다. 이 프로퍼티은 계속 문맥이 상속해, 그 문맥의 서비스 프로바이더가 이 예외의 필드를 조사하는데 사용합니다.

파라미터:
cpe - 이 계속을 트리거한 null 이외의 예외
반환값:
조작을 계속하는 null 이외의 Context 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우

getStateToBind

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 에 관련하는 이 객체의 이름. 또는, 이름을 지정하지 않는 경우는 null
nameCtx - name 파라미터의 지정에 관련하는 문맥, 또는 name 가 디폴트의 초기 문맥에 관련하는 경우는 null
environment - 상태 팩토리 및 객체 상태의 생성에 사용되는, null 의 가능성이 있는 환경
반환값:
obj 의 바인딩 상태를 나타내는 null 이외의 객체. 객체 (obj) 자체의 경우도 있다
예외:
NamingException - 액세스 된 팩토리의 1 개가 예외를 throw 했을 경우, 또는 팩토리 및 객체 클래스의 로드 및 인스턴스화중에 에러가 발견되었을 경우 팩토리는, 객체 생성에 다른 팩토리를 사용하지 않는 경우에 한정해 예외를 throw 하도록(듯이) 한다 StateFactory.getStateToBind() 를 참조
도입된 버젼:
1.3
관련 항목:
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

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.