JavaTM Platform
Standard Ed. 6

javax.naming
클래스 InitialContext

java.lang.Object 
  상위를 확장 javax.naming.InitialContext
모든 구현된 인터페이스:
Context
직계의 기존의 서브 클래스:
InitialDirContext


public class InitialContext
extends Object
implements Context

이 클래스는, 네이밍 조작을 실행하기 위한 초기 문맥입니다.

네이밍 조작은 모두, 문맥을 기준으로 합니다. 초기 문맥에는 Context 인터페이스가 구현되어 이름을 해결하는 개시점이 제공됩니다.

초기 문맥이 구축되면(자), 생성자 에게 건네지는 환경 파라미터, 및 임의의어플리케이션 resource file로 정의된 프로퍼티에 의해 환경이 초기화됩니다. 게다가 시스템 프로퍼티 또는 애플릿 파라미터 (Context.APPLET 의 사용에 의한다)로서 소수의 표준 JNDI 프로퍼티이 지정되는 일도 있습니다. 이러한 특별한 프로퍼티은,ContextLdapContext 인터페이스 문서의 필드 상세 섹션에 리스트 표시됩니다.

JNDI 에서는, 다음의 2 개의 소스로부터 값을 순서에 머지 해, 각 프로퍼티의 값이 결정됩니다.

  1. 생성자 의 환경 파라미터, 및 (해당하는 프로퍼티의) 애플릿 파라미터와 시스템 프로퍼티으로, 최초로 출현하는 프로퍼티
  2. 어플리케이션 resource file (jndi.properties)
이 2 개의 소스, 또는 1 개(살) 이상의 어플리케이션 resource file의 프로퍼티에 대해, 프로퍼티의 값이 다음과 같이 결정됩니다. 프로퍼티이, JNDI 팩토리의 리스트를 지정하는 표준 JNDI 프로퍼티의 1 개의 경우 (Context 를 참조), 값은 모두 1 개의 구두점으로 단락지어진 리스트에 연결됩니다. 다른 프로퍼티의 경우는, 검색된 최초의 값만이 사용됩니다.

초기 문맥의 구현은, 실행시로 결정됩니다. 디폴트의 정책에서는, 초기 문맥 팩토리의 클래스명을 포함한, 환경 프로퍼티 java.naming.factory.initial 가 사용됩니다. 이 정책에 대한 예외는, 다음에 설명하도록(듯이), URL 캐릭터 라인을 해결할 경우에 작성됩니다.

이름 파라미터로서 URL 캐릭터 라인 (scheme_id:rest_of_name 형식의 String)이 메소드에게 건네지면(자), 그 쪽식을 처리하는 URL 문맥 팩토리가 검색되어 URL 의 해결에 사용됩니다. 이러한 팩토리가 발견되지 않는 경우는,java.naming.factory.initial 로 지정된 초기 문맥이 사용됩니다. 같이 최초의 컴퍼넌트가 URL 캐릭터 라인의 CompositeName 객체가 이름 파라미터로서 메소드에게 건네지면(자), URL 문맥 팩토리가 검색되어 최초의 이름 컴퍼넌트의 해결에 사용됩니다. URL 문맥 팩토리가 검색되는 방법의 자세한 것은,NamingManager.getURLContext() 를 참조해 주세요.

초기 문맥 및 URL 문맥 팩토리를 검색하는 디폴트 정책는,NamingManager.setInitialContextFactoryBuilder()를 호출하는 것으로 오버라이드(override) 되는 일이 있습니다.

초기 문맥을 인스턴스화할 수 없는 경우, NoInitialContextException 가 throw 됩니다. 이 예외는, InitialContext 의 구축시만으로 한정하지 않고, InitialContext 와의 대화중에 throw 될 가능성이 있습니다. 예를 들어, 초기 문맥의 구현에서는, 실제의 메소드가 불려 가는 경우만 문맥을 검색하는 경우도 있습니다. 어플리케이션은, 초기 문맥의 유무가 판별되는 시기에 의존하지 않습니다.

환경 프로퍼티 java.naming.factory.initial 가 null 이외의 경우, InitialContext 생성자 에서는 거기로 지정한 초기 문맥이 작성됩니다. 그 시점에서 문제가 발생했을 경우, 관련하는 초기 문맥 팩토리로 예외가 throw 됩니다. 다만, 언제 검증되는지, 및 초기의 문맥, 환경 프로퍼티 (즉 접속)에 관한 문제가 언제 사용자에게 표시될까는, 프로바이더의 구현에 의존합니다. 문맥으로 오퍼레이션이 실행될 때까지 대기하는 경우도, 문맥 구축시에 곧바로 실행하는 경우도 있습니다.

InitialContext 인스턴스는, 병행 액세스에 대해서 복수의 thread에서는 동기화 되지 않습니다. 다른 InitialContext 인스턴스를 조작하는 복수 thread에서는, 동기화는 필요 없습니다. 단일의 InitialContext 에 동시에 액세스 할 필요가 있는 thread는, 그 자체로 동기화 되어 필요한 락을 제공할 필요가 있습니다.

도입된 버젼:
JNDI 1.1 / Java 2 Platform, Standard Edition, v 1.3
관련 항목:
Context , NamingManager.setInitialContextFactoryBuilder

필드의 개요
protected  Context defaultInitCtx
          NamingManager.getInitialContext()를 호출한 결과를 보관 유지하는 필드입니다.
protected  boolean gotDefault
          초기 문맥이 NamingManager.getInitialContext()의 호출에 의해 취득되었는지를 나타내는 필드입니다.
protected  Hashtable <Object ,Object > myProps
          이 InitialContext 에 관련한 환경입니다.
 
인터페이스 javax.naming. Context 로부터 상속된 필드
APPLET , AUTHORITATIVE , BATCHSIZE , DNS_URL , INITIAL_CONTEXT_FACTORY , LANGUAGE , OBJECT_FACTORIES , PROVIDER_URL , REFERRAL , SECURITY_AUTHENTICATION , SECURITY_CREDENTIALS , SECURITY_PRINCIPAL , SECURITY_PROTOCOL , STATE_FACTORIES , URL_PKG_PREFIXES
 
생성자 의 개요
  InitialContext ()
          초기 문맥을 구축합니다.
protected InitialContext (boolean lazy)
          초기화하지 않는 옵션을 가지는 초기화 문맥을 구축합니다.
  InitialContext (Hashtable <?,?> environment)
          지정한 환경을 사용해 초기 문맥을 구축합니다.
 
메소드의 개요
 Object addToEnvironment (String  propName, Object  propVal)
          이 문맥의 환경에, 새로운 환경 프로퍼티을 추가합니다.
 void bind (Name  name, Object  obj)
          이름을 객체에 바인드 합니다.
 void bind (String  name, Object  obj)
          이름을 객체에 바인드 합니다.
 void close ()
          이 문맥을 닫습니다.
 Name composeName (Name  name, Name  prefix)
          이 문맥을 기준으로 한 이름을 가지는 이 문맥의 이름을 변환합니다.
 String composeName (String  name, String  prefix)
          이 문맥을 기준으로 한 이름을 가지는 이 문맥의 이름을 변환합니다.
 Context createSubcontext (Name  name)
          새로운 문맥을 작성해 바인드 합니다.
 Context createSubcontext (String  name)
          새로운 문맥을 작성해 바인드 합니다.
 void destroySubcontext (Name  name)
          이름 첨부 문맥을 파기해, 이름 공간으로부터 삭제합니다.
 void destroySubcontext (String  name)
          이름 첨부 문맥을 파기해, 이름 공간으로부터 삭제합니다.
static
<T> T
doLookup (Name  name)
          이름 첨부 객체를 취득하는 static 메소드입니다.
static
<T> T
doLookup (String  name)
          이름 첨부 객체를 취득하는 static 메소드입니다.
protected  Context getDefaultInitCtx ()
          NamingManager.getInitialContext() 를 호출해 초기 문맥을 취득해, defaultInitCtx 로 캐쉬에 포함합니다.
 Hashtable <?,?> getEnvironment ()
          이 문맥으로 유효한 환경을 가져옵니다.
 String getNameInNamespace ()
          독자적인 이름 공간에서 이 문맥의 완전한 이름을 가져옵니다.
 NameParser getNameParser (Name  name)
          이름 첨부 문맥에 관련한 퍼서를 가져옵니다.
 NameParser getNameParser (String  name)
          이름 첨부 문맥에 관련한 퍼서를 가져옵니다.
protected  Context getURLOrDefaultInitCtx (Name  name)
          name 를 해결하는 문맥을 가져옵니다.
protected  Context getURLOrDefaultInitCtx (String  name)
          캐릭터 라인명 name 를 해결하는 문맥을 가져옵니다.
protected  void init (Hashtable <?,?> environment)
          지정한 환경을 사용해 초기 문맥을 초기화합니다.
 NamingEnumeration <NameClassPair > list (Name  name)
          바인드 된 객체의 클래스명과 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다.
 NamingEnumeration <NameClassPair > list (String  name)
          바인드 된 객체의 클래스명과 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다.
 NamingEnumeration <Binding > listBindings (Name  name)
          바인드 된 객체와 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다.
 NamingEnumeration <Binding > listBindings (String  name)
          바인드 된 객체와 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다.
 Object lookup (Name  name)
          이름 첨부 객체를 가져옵니다.
 Object lookup (String  name)
          이름 첨부 객체를 가져옵니다.
 Object lookupLink (Name  name)
          이름의 끝의 기본 컴퍼넌트를 제외한 링크를 동반하는, 이름 첨부 객체를 가져옵니다.
 Object lookupLink (String  name)
          이름의 끝의 기본 컴퍼넌트를 제외한 링크를 동반하는, 이름 첨부 객체를 가져옵니다.
 void rebind (Name  name, Object  obj)
          이름을 객체에 바인드 해, 기존의 바인딩을 덧쓰기합니다.
 void rebind (String  name, Object  obj)
          이름을 객체에 바인드 해, 기존의 바인딩을 덧쓰기합니다.
 Object removeFromEnvironment (String  propName)
          이 문맥의 환경에서 환경 프로퍼티을 삭제합니다.
 void rename (Name  oldName, Name  newName)
          새로운 이름을, 이전의 이름에 바인드 된 객체에 바인드 해, 이전의 이름을 언바인드(unbind) 합니다.
 void rename (String  oldName, String  newName)
          새로운 이름을, 이전의 이름에 바인드 된 객체에 바인드 해, 이전의 이름을 언바인드(unbind) 합니다.
 void unbind (Name  name)
          이름 첨부 객체를 언바인드(unbind) 합니다.
 void unbind (String  name)
          이름 첨부 객체를 언바인드(unbind) 합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

myProps

protected Hashtable <Object ,Object > myProps
이 InitialContext 에 관련한 환경입니다. null 에 초기화되어 환경을 받는 생성자 , 또는 init() 메소드에 의해 갱신됩니다.

관련 항목:
addToEnvironment(java.lang.String, java.lang.Object) , removeFromEnvironment(java.lang.String) , getEnvironment()

defaultInitCtx

protected Context  defaultInitCtx
NamingManager.getInitialContext()를 호출한 결과를 보관 유지하는 필드입니다. 최초로 getDefaultInitCtx()가 불려 갔을 때에, getDefaultInitCtx()에 의해 설정됩니다. 그 후 getDefaultInitCtx()를 호출하면(자), defaultInitCtx 의 값이 돌려주어집니다.

관련 항목:
getDefaultInitCtx()

gotDefault

protected boolean gotDefault
초기 문맥이 NamingManager.getInitialContext()의 호출에 의해 취득되었는지를 나타내는 필드입니다. true 의 경우, 결과는 defaultInitCtx 에 있습니다.

생성자 의 상세

InitialContext

protected InitialContext(boolean lazy)
                  throws NamingException 
초기화하지 않는 옵션을 가지는 초기화 문맥을 구축합니다. 이것은,InitialContext 생성자 이 불려 갔을 때에 환경 파라미터의 값이 불명한 경우에, 서브 클래스의 생성자 으로 사용되는 일이 있습니다. 서브 클래스의 생성자 에서는 이 생성자 이 불려 가 환경의 값이 계산되어, 값을 돌려주기 전에 init() 가 불려 갑니다.

파라미터:
lazy - true 는, 초기 문맥이 초기화되지 않는 것을 나타낸다. false 는, new InitialDirContext() 를 호출하는 것과 같다
예외:
NamingException - 네이밍 예외가 발생했을 경우
도입된 버젼:
1.3
관련 항목:
init(Hashtable)

InitialContext

public InitialContext()
               throws NamingException 
초기 문맥을 구축합니다. 환경 프로퍼티은 지정되지 않습니다. new InitialContext(null) 와 같습니다.

예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
InitialContext(Hashtable)

InitialContext

public InitialContext(Hashtable <?,?> environment)
               throws NamingException 
지정한 환경을 사용해 초기 문맥을 구축합니다. 환경 프로퍼티은, 클래스의 개요로 설명합니다.

이 생성자 에서는,environment 의 변경 또는 참조의 보존은 행해지지 않습니다만, 복제가 보존됩니다.

파라미터:
environment - 초기 문맥의 작성에 사용되는 환경. null 는 빈 상태(empty)의 환경을 나타낸다
예외:
NamingException - 네이밍 예외가 발생했을 경우
메소드의 상세

init

protected void init(Hashtable <?,?> environment)
             throws NamingException 
지정한 환경을 사용해 초기 문맥을 초기화합니다. 환경 프로퍼티은, 클래스의 개요로 설명합니다.

이 메소드에서는 environment 가 변경되어 참조가 보존됩니다. 호출측에서는 변경되지 않습니다.

파라미터:
environment - 초기 문맥의 작성에 사용되는 환경. null 는 빈 상태(empty)의 환경을 나타낸다
예외:
NamingException - 네이밍 예외가 발생했을 경우
도입된 버젼:
1.3
관련 항목:
InitialContext(boolean)

doLookup

public static <T> T doLookup(Name  name)
                  throws NamingException 
이름 첨부 객체를 취득하는 static 메소드입니다. 이것은, 다음에 상당하는 쇼트 컷 메소드입니다.

InitialContext ic = new InitialContext(); Object obj = ic.lookup();

name 가 빈 상태(empty)의 경우는, 이 문맥의 새로운 인스턴스를 돌려줍니다. 이 문맥과 같은 네이밍 문맥을 나타냅니다만, 환경은 개별적으로 변경할 수가 있어 동시에 액세스 할 수도 있습니다.

파라미터:
name - 검색하는 객체의 이름
반환값:
name 에 바인드 되는 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우
도입된 버젼:
1.6
관련 항목:
doLookup(String) , lookup(Name)

doLookup

public static <T> T doLookup(String  name)
                  throws NamingException 
이름 첨부 객체를 취득하는 static 메소드입니다. 자세한 것은,doLookup(Name) 를 참조해 주세요.

파라미터:
name - 검색하는 객체의 이름
반환값:
name 에 바인드 되는 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우
도입된 버젼:
1.6

getDefaultInitCtx

protected Context  getDefaultInitCtx()
                             throws NamingException 
NamingManager.getInitialContext() 를 호출해 초기 문맥을 취득해, defaultInitCtx 로 캐쉬에 포함합니다. 이전에 실행한 것을 알 수 있도록(듯이) gotDefault 를 설정합니다.

반환값:
null 이외의 캐쉬가 끝난 초기 문맥
예외:
NoInitialContextException - 초기 문맥이 발견되지 않는 경우
NamingException - 네이밍 예외가 발견되었을 경우

getURLOrDefaultInitCtx

protected Context  getURLOrDefaultInitCtx(String  name)
                                  throws NamingException 
캐릭터 라인명 name 를 해결하는 문맥을 가져옵니다. name 명이 URL 캐릭터 라인의 경우는, URL 문맥을 검색합니다. 발견되지 않았던 경우, 또는 name 가 URL 캐릭터 라인이 아닌 경우는,getDefaultInitCtx() 가 돌려주어집니다.

서브 클래스에서 이 메소드가 어떻게 사용될까는, getURLOrDefaultInitCtx(Name)의 설명을 참조해 주세요.

파라미터:
name - 문맥의 취득 대상이 되는 null 이외의 이름
반환값:
name 또는 캐쉬가 끝난 초기 문맥의 URL 문맥 결과는 null 는 아니다
예외:
NoInitialContextException - 초기 문맥이 발견되지 않는 경우
NamingException - 네이밍 예외가 발견되었을 경우
관련 항목:
NamingManager.getURLContext(java.lang.String, java.util.Hashtable)

getURLOrDefaultInitCtx

protected Context  getURLOrDefaultInitCtx(Name  name)
                                  throws NamingException 
name 를 해결하는 문맥을 가져옵니다. name 명의 최초의 컴퍼넌트가 URL 캐릭터 라인의 경우는, URL 문맥을 검색합니다. 발견되지 않았던 경우, 또는 name 의 최초의 컴퍼넌트가 URL 캐릭터 라인이 아닌 경우는,getDefaultInitCtx() 가 돌려주어집니다.

InitialContext 의 서브 클래스를 작성할 때는, 다음과 같이 해 이 메소드를 사용합니다. 이 메소드를 사용하는 새로운 메소드를 정의해, 필요한 서브 클래스의 초기 문맥을 가져옵니다.

 protected XXXContext getURLOrDefaultInitXXXCtx(Name name) 
 throws NamingException {
  Context answer = getURLOrDefaultInitCtx(name);
  if (! (answer instanceof XXXContext)) {
    if (answer == null) {
            throw new NoInitialContextException();
    } else {
            throw new NotContextException("Not an XXXContext");
    }
        }
        return (XXXContext) answer;
 }
 
서브 클래스의 새로운 메소드에 구현을 지정하는 경우는, 이 새롭게 정의된 메소드를 사용해, 초기 문맥을 가져옵니다.

 public Object XXXMethod1(Name name, ...) { {
        throws NamingException {
    return getURLOrDefaultInitXXXCtx(name). XXXMethod1(name, ...);
 }
 

파라미터:
name - 문맥의 취득 대상이 되는 null 이외의 이름
반환값:
name 또는 캐쉬가 끝난 초기 문맥의 URL 문맥 결과는 null 는 아니다
예외:
NoInitialContextException - 초기 문맥이 발견되지 않는 경우
NamingException - 네이밍 예외가 발견되었을 경우
관련 항목:
NamingManager.getURLContext(java.lang.String, java.util.Hashtable)

lookup

public Object  lookup(String  name)
              throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 객체를 가져옵니다. 자세한 것은,Context.lookup(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 lookup
파라미터:
name - 검색하는 객체의 이름
반환값:
name 에 바인드 되는 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우

lookup

public Object  lookup(Name  name)
              throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 객체를 가져옵니다. name 가 빈 상태(empty)의 경우는, 이 문맥의 새로운 인스턴스를 돌려줍니다. 이 문맥과 같은 네이밍 문맥을 나타냅니다만, 환경은 개별적으로 변경할 수가 있어 병행해 액세스 할 수도 있습니다.

정의:
인터페이스 Context 내의 lookup
파라미터:
name - 검색하는 객체의 이름
반환값:
name 에 바인드 되는 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.lookup(String) , Context.lookupLink(Name)

bind

public void bind(String  name,
                 Object  obj)
          throws NamingException 
인터페이스 Context 의 기술:
이름을 객체에 바인드 합니다. 자세한 것은,Context.bind(Name, Object) 를 참조해 주세요.

정의:
인터페이스 Context 내의 bind
파라미터:
name - 빈 상태(empty)이 아닌 바인드 되는 이름
obj - null 의 가능성이 있는 바인드 되는 객체
예외:
NameAlreadyBoundException - 이름이 벌써 바인드 되고 있는 경우
InvalidAttributesException - 객체에 모든 필수 속성이 지정되어 있지 않은 경우
NamingException - 네이밍 예외가 발생했을 경우

bind

public void bind(Name  name,
                 Object  obj)
          throws NamingException 
인터페이스 Context 의 기술:
이름을 객체에 바인드 합니다. 이름의 끝의 기본 컴퍼넌트 이외의 모두에 의해 이름이 붙여진, 모든 중간 문맥 및 타겟 문맥이 벌써 존재하고 있을 필요가 있습니다.

정의:
인터페이스 Context 내의 bind
파라미터:
name - 빈 상태(empty)이 아닌 바인드 되는 이름
obj - null 의 가능성이 있는 바인드 되는 객체
예외:
NameAlreadyBoundException - 이름이 벌써 바인드 되고 있는 경우
InvalidAttributesException - 객체에 모든 필수 속성이 지정되어 있지 않은 경우
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.bind(String, Object) , Context.rebind(Name, Object) , javax.naming.directory.DirContext#bind(Name, Object,

rebind

public void rebind(String  name,
                   Object  obj)
            throws NamingException 
인터페이스 Context 의 기술:
이름을 객체에 바인드 해, 기존의 바인딩을 덧쓰기합니다. 자세한 것은,Context.rebind(Name, Object) 를 참조해 주세요.

정의:
인터페이스 Context 내의 rebind
파라미터:
name - 빈 상태(empty)이 아닌 바인드 되는 이름
obj - null 의 가능성이 있는 바인드 되는 객체
예외:
InvalidAttributesException - 객체에 모든 필수 속성이 지정되어 있지 않은 경우
NamingException - 네이밍 예외가 발생했을 경우

rebind

public void rebind(Name  name,
                   Object  obj)
            throws NamingException 
인터페이스 Context 의 기술:
이름을 객체에 바인드 해, 기존의 바인딩을 덧쓰기합니다. 이름의 끝의 기본 컴퍼넌트 이외의 모두에 의해 이름이 붙여진, 모든 중간 문맥 및 타겟 문맥이 벌써 존재하고 있을 필요가 있습니다.

객체가 DirContext 의 경우, 이름에 관련지을 수 있었던 기존의 속성이, 객체의 속성과 치환됩니다. 치환되지 않는 경우, 이름에 관련지을 수 있었던 기존의 속성은, 변경되지 않은 채입니다.

정의:
인터페이스 Context 내의 rebind
파라미터:
name - 빈 상태(empty)이 아닌 바인드 되는 이름
obj - null 의 가능성이 있는 바인드 되는 객체
예외:
InvalidAttributesException - 객체에 모든 필수 속성이 지정되어 있지 않은 경우
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.rebind(String, Object) , Context.bind(Name, Object) , javax.naming.directory.DirContext#rebind(Name, Object,, DirContext

unbind

public void unbind(String  name)
            throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 객체를 언바인드(unbind) 합니다. 자세한 것은,Context.unbind(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 unbind
파라미터:
name - 언바인드(unbind) 되고 하는 이름. 빈 상태(empty)은 불가
예외:
NameNotFoundException - 중간 문맥이 존재하지 않는 경우
NamingException - 네이밍 예외가 발생했을 경우

unbind

public void unbind(Name  name)
            throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 객체를 언바인드(unbind) 합니다. name 의 끝의 기본 부분 이외의 모두에 의해 이름이 붙여진 타겟 문맥으로부터,name 의 끝의 기본명을 삭제합니다.

이 메소드나무등입니다. 끝의 기본명이 타겟 문맥으로 바인드되어 있지 않은 경우에서도, 성공합니다. 다만, 중간 문맥이 존재하지 않는 경우는,NameNotFoundException 가 throw 됩니다.

이름에 관련지을 수 있었던 속성이 삭제됩니다. 중간 문맥은 변경되지 않습니다.

정의:
인터페이스 Context 내의 unbind
파라미터:
name - 언바인드(unbind) 되고 하는 이름. 빈 상태(empty)은 불가
예외:
NameNotFoundException - 중간 문맥이 존재하지 않는 경우
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.unbind(String)

rename

public void rename(String  oldName,
                   String  newName)
            throws NamingException 
인터페이스 Context 의 기술:
새로운 이름을, 이전의 이름에 바인드 된 객체에 바인드 해, 이전의 이름을 언바인드(unbind) 합니다. 자세한 것은,Context.rename(Name, Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 rename
파라미터:
oldName - 기존의 바인딩의 이름. 빈 상태(empty)은 불가
newName - 새로운 바인딩의 이름. 빈 상태(empty)은 불가
예외:
NameAlreadyBoundException - newName 가 벌써 바인드 되고 있는 경우
NamingException - 네이밍 예외가 발생했을 경우

rename

public void rename(Name  oldName,
                   Name  newName)
            throws NamingException 
인터페이스 Context 의 기술:
새로운 이름을, 이전의 이름에 바인드 된 객체에 바인드 해, 이전의 이름을 언바인드(unbind) 합니다. 2 개의 이름은, 이 문맥을 기준으로 합니다. 이전의 이름에 관련지을 수 있었던 속성은, 새로운 이름에 관련지을 수 있습니다. 이전의 이름의 중간 문맥은, 변경되지 않습니다.

정의:
인터페이스 Context 내의 rename
파라미터:
oldName - 기존의 바인딩의 이름. 빈 상태(empty)은 불가
newName - 새로운 바인딩의 이름. 빈 상태(empty)은 불가
예외:
NameAlreadyBoundException - newName 가 벌써 바인드 되고 있는 경우
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.rename(String, String) , Context.bind(Name, Object) , Context.rebind(Name, Object)

list

public NamingEnumeration <NameClassPair > list(String  name)
                                      throws NamingException 
인터페이스 Context 의 기술:
바인드 된 객체의 클래스명과 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다. 자세한 것은,Context.list(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 list
파라미터:
name - 리스트 표시하는 문맥의 이름
반환값:
이 문맥의 바인딩의 이름과 클래스명의 열거 열거의 요소의 형태는 NameClassPair
예외:
NamingException - 네이밍 예외가 발생했을 경우

list

public NamingEnumeration <NameClassPair > list(Name  name)
                                      throws NamingException 
인터페이스 Context 의 기술:
바인드 된 객체의 클래스명과 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다. 서브 문맥의 내용은 포함되지 않습니다.

이 문맥에 바인딩이 추가되는지, 또는 이 문맥으로부터 바인딩이 삭제되는 경우, 이전에 반환된 열거에의 영향은 정의되고 있지 않습니다.

정의:
인터페이스 Context 내의 list
파라미터:
name - 리스트 표시하는 문맥의 이름
반환값:
이 문맥의 바인딩의 이름과 클래스명의 열거 열거의 요소의 형태는 NameClassPair
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.list(String) , Context.listBindings(Name) , NameClassPair

listBindings

public NamingEnumeration <Binding > listBindings(String  name)
                                        throws NamingException 
인터페이스 Context 의 기술:
바인드 된 객체와 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다. 자세한 것은,Context.listBindings(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 listBindings
파라미터:
name - 리스트 표시하는 문맥의 이름
반환값:
이 문맥의 바인딩의 열거 열거의 각 요소는 Binding
예외:
NamingException - 네이밍 예외가 발생했을 경우

listBindings

public NamingEnumeration <Binding > listBindings(Name  name)
                                        throws NamingException 
인터페이스 Context 의 기술:
바인드 된 객체와 함께, 이름 첨부 문맥으로 바인드 된 이름을 열거합니다. 서브 문맥의 내용은 포함되지 않습니다.

이 문맥에 바인딩이 추가되는지, 또는 이 문맥으로부터 바인딩이 삭제되는 경우, 이전에 반환된 열거에의 영향은 정의되고 있지 않습니다.

정의:
인터페이스 Context 내의 listBindings
파라미터:
name - 리스트 표시하는 문맥의 이름
반환값:
이 문맥의 바인딩의 열거 열거의 각 요소는 Binding
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.listBindings(String) , Context.list(Name) , Binding

destroySubcontext

public void destroySubcontext(String  name)
                       throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 문맥을 파기해, 이름 공간으로부터 삭제합니다. 자세한 것은,Context.destroySubcontext(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 destroySubcontext
파라미터:
name - 파기되는 문맥의 이름. 빈 상태(empty)은 불가
예외:
NameNotFoundException - 중간 문맥이 존재하지 않는 경우
NotContextException - 이름이 바인드 되고 있지만 문맥의 이름이 없는, 또는 해당하는 형태의 문맥의 이름이 없는 경우
ContextNotEmptyException - 지정된 문맥이 빈 상태(empty)이 아닌 경우
NamingException - 네이밍 예외가 발생했을 경우

destroySubcontext

public void destroySubcontext(Name  name)
                       throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 문맥을 파기해, 이름 공간으로부터 삭제합니다. 이름에 관련지을 수 있었던 속성도 삭제됩니다. 중간 문맥은 파기되지 않습니다.

이 메소드나무등입니다. 끝의 기본명이 타겟 문맥으로 바인드되어 있지 않은 경우에서도, 성공합니다. 다만, 중간 문맥이 존재하지 않는 경우는,NameNotFoundException 가 throw 됩니다.

연합 네이밍 시스템에서는, 1 개의 네이밍 시스템으로부터의 문맥이 다른 네이밍 시스템의 이름에 바인드 됩니다. 그 후, 합성명을 사용해 외부 문맥의 오퍼레이션을 검색 및 실행할 수 있습니다. 다만, 외부 문맥은 바인드 된 문맥의 서브 문맥은 아니기 때문에, 이 합성명을 사용해 문맥을 파기하려고 하면(자),NotContextException 로 실패합니다. 대신에,unbind() 를 사용해, 외부 문맥의 바인딩을 삭제합니다. 외부 문맥을 파기하려면 , 외부 문맥의 「네이티브인」네이밍 시스템으로부터 문맥으로 destroySubcontext() 를 실행할 필요가 있습니다.

정의:
인터페이스 Context 내의 destroySubcontext
파라미터:
name - 파기되는 문맥의 이름. 빈 상태(empty)은 불가
예외:
NameNotFoundException - 중간 문맥이 존재하지 않는 경우
NotContextException - 이름이 바인드 되고 있지만 문맥의 이름이 없는, 또는 해당하는 형태의 문맥의 이름이 없는 경우
ContextNotEmptyException - 지정된 문맥이 빈 상태(empty)이 아닌 경우
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.destroySubcontext(String)

createSubcontext

public Context  createSubcontext(String  name)
                         throws NamingException 
인터페이스 Context 의 기술:
새로운 문맥을 작성해 바인드 합니다. 자세한 것은,Context.createSubcontext(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 createSubcontext
파라미터:
name - 빈 상태(empty)이 아닌 작성되는 문맥의 이름
반환값:
새롭게 작성된 문맥
예외:
NameAlreadyBoundException - 이름이 벌써 바인드 되고 있는 경우
InvalidAttributesException - 서브 문맥의 작성에, 필수 속성의 지정이 필요한 경우
NamingException - 네이밍 예외가 발생했을 경우

createSubcontext

public Context  createSubcontext(Name  name)
                         throws NamingException 
인터페이스 Context 의 기술:
새로운 문맥을 작성해 바인드 합니다. 지정한 이름의 새로운 문맥을 작성해, (이름의 끝의 기본 컴퍼넌트 이외의 모두에 의해 이름이 붙여진) 타겟 문맥으로 바인드 합니다. 모든 중간 문맥 및 타겟 문맥이 벌써 존재하고 있을 필요가 있습니다.

정의:
인터페이스 Context 내의 createSubcontext
파라미터:
name - 빈 상태(empty)이 아닌 작성되는 문맥의 이름
반환값:
새롭게 작성된 문맥
예외:
NameAlreadyBoundException - 이름이 벌써 바인드 되고 있는 경우
InvalidAttributesException - 서브 문맥의 작성에, 필수 속성의 지정이 필요한 경우
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.createSubcontext(String) , DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)

lookupLink

public Object  lookupLink(String  name)
                  throws NamingException 
인터페이스 Context 의 기술:
이름의 끝의 기본 컴퍼넌트를 제외한 링크를 동반하는, 이름 첨부 객체를 가져옵니다. 자세한 것은,Context.lookupLink(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 lookupLink
파라미터:
name - 검색하는 객체의 이름
반환값:
끝 링크 (있는 경우)를 이라고도 줄 없는 name 에 바인드 된 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우

lookupLink

public Object  lookupLink(Name  name)
                  throws NamingException 
인터페이스 Context 의 기술:
이름의 끝의 기본 컴퍼넌트를 제외한 링크를 동반하는, 이름 첨부 객체를 가져옵니다. name 에 바인드 된 객체가 링크가 아닌 경우는, 객체 자체가 돌려주어집니다.

정의:
인터페이스 Context 내의 lookupLink
파라미터:
name - 검색하는 객체의 이름
반환값:
끝 링크 (있는 경우)를 이라고도 줄 없는 name 에 바인드 된 객체
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.lookupLink(String)

getNameParser

public NameParser  getNameParser(String  name)
                         throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 문맥에 관련한 퍼서를 가져옵니다. 자세한 것은,Context.getNameParser(Name) 를 참조해 주세요.

정의:
인터페이스 Context 내의 getNameParser
파라미터:
name - 퍼서의 취득원의 문맥의 이름
반환값:
복합명의 구문을 구문 분석 해 기본 컴퍼넌트로 하는 이름의 퍼서
예외:
NamingException - 네이밍 예외가 발생했을 경우

getNameParser

public NameParser  getNameParser(Name  name)
                         throws NamingException 
인터페이스 Context 의 기술:
이름 첨부 문맥에 관련한 퍼서를 가져옵니다. 이름 공간의 연합에서는, 다양한 네이밍 시스템으로 이름의 구문이 구문 분석 됩니다. 어플리케이션으로부터 이 메소드를 사용하면, 특정의 네이밍 시스템의 네이밍 변환에 의해 이름을 기본 컴퍼넌트에 구문 분석 하는 퍼서를 취득할 수 있습니다. 단일의 네이밍 시스템에서는, 이 메소드에 의해 반환되는 NameParser 객체는 동일하지 않으면 안됩니다 (equals() 테스트를 사용).

정의:
인터페이스 Context 내의 getNameParser
파라미터:
name - 퍼서의 취득원의 문맥의 이름
반환값:
복합명의 구문을 구문 분석 해 기본 컴퍼넌트로 하는 이름의 퍼서
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.getNameParser(String) , CompoundName

composeName

public String  composeName(String  name,
                          String  prefix)
                   throws NamingException 
이 문맥을 기준으로 한 이름을 가지는 이 문맥의 이름을 변환합니다. 초기 문맥은, 그 자체 이외의 문맥을 기준으로 해 이름을 붙일 수 있을 것은 없기 때문에,prefix 파라미터의 값은 빈 상태(empty)의 이름 ("")으로 할 필요가 있습니다.

정의:
인터페이스 Context 내의 composeName
파라미터:
name - 이 문맥에 관련한 이름
prefix - 상위 문맥의 1 개에 관련한 이 문맥의 이름
반환값:
prefixname 의 변환
예외:
NamingException - 네이밍 예외가 발생했을 경우

composeName

public Name  composeName(Name  name,
                        Name  prefix)
                 throws NamingException 
이 문맥을 기준으로 한 이름을 가지는 이 문맥의 이름을 변환합니다. 초기 문맥은, 그 자체 이외의 문맥을 기준으로 해 이름을 붙일 수 있을 것은 없기 때문에,prefix 파라미터의 값은 빈 상태(empty)의 이름으로 할 필요가 있습니다.

정의:
인터페이스 Context 내의 composeName
파라미터:
name - 이 문맥에 관련한 이름
prefix - 상위 문맥의 1 개에 관련한 이 문맥의 이름
반환값:
prefixname 의 변환
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.composeName(String, String)

addToEnvironment

public Object  addToEnvironment(String  propName,
                               Object  propVal)
                        throws NamingException 
인터페이스 Context 의 기술:
이 문맥의 환경에, 새로운 환경 프로퍼티을 추가합니다. 프로퍼티이 벌써 존재하는 경우, 값은 덧쓰기됩니다. 환경 프로퍼티의 자세한 것은, 클래스의 설명을 참조해 주세요.

정의:
인터페이스 Context 내의 addToEnvironment
파라미터:
propName - 추가하는 환경 프로퍼티의 이름. null 이외
propVal - 추가하는 프로퍼티의 값. null 이외
반환값:
프로퍼티의 이전의 값, 또는 프로퍼티이 이전에는 환경에 없었던 경우는 null
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.getEnvironment() , Context.removeFromEnvironment(String)

removeFromEnvironment

public Object  removeFromEnvironment(String  propName)
                             throws NamingException 
인터페이스 Context 의 기술:
이 문맥의 환경에서 환경 프로퍼티을 삭제합니다. 환경 프로퍼티의 자세한 것은, 클래스의 설명을 참조해 주세요.

정의:
인터페이스 Context 내의 removeFromEnvironment
파라미터:
propName - 삭제하는 환경 프로퍼티의 이름. null 이외
반환값:
프로퍼티의 이전의 값, 또는 프로퍼티이 환경에 없었던 경우는 null
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.getEnvironment() , Context.addToEnvironment(String, Object)

getEnvironment

public Hashtable <?,?> getEnvironment()
                              throws NamingException 
인터페이스 Context 의 기술:
이 문맥으로 유효한 환경을 가져옵니다. 환경 프로퍼티의 자세한 것은, 클래스의 설명을 참조해 주세요.

호출측은, 반환되는 객체를 변경할 수 없습니다. 문맥에 대한 효과는 정의되고 있지 않습니다. 이 문맥의 환경은,addToEnvironment()removeFromEnvironment() 에 의해 변경되는 일이 있습니다.

정의:
인터페이스 Context 내의 getEnvironment
반환값:
이 문맥의 환경. null 이외
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
Context.addToEnvironment(String, Object) , Context.removeFromEnvironment(String)

close

public void close()
           throws NamingException 
인터페이스 Context 의 기술:
이 문맥을 닫습니다. 이 메소드에서는, 가비지 컬렉터에 의해 자동적으로 해제될 때까지 대기하는 것이 아니라, 이 문맥의 자원이 즉시 해제됩니다.

이 메소드는, 나무등입니다. 벌써 닫혀진 문맥으로 이 메소드를 호출해도, 효과는 없습니다. 닫혀진 문맥으로 다른 메소드를 호출할 수 없습니다. 결과는 미정도리의 동작이 됩니다.

정의:
인터페이스 Context 내의 close
예외:
NamingException - 네이밍 예외가 발생했을 경우

getNameInNamespace

public String  getNameInNamespace()
                          throws NamingException 
인터페이스 Context 의 기술:
독자적인 이름 공간에서 이 문맥의 완전한 이름을 가져옵니다.

많은 네이밍 서비스에는, 각 이름 공간의 객체에 대한 「완전한 이름」의 개념이 있습니다. 예를 들어, LDAP 엔트리에는 식별명이 있어, DNS 레코드에는 완전 수식명이 있습니다. 이 메소드에 의해, 클라이언트 어플리케이션으로 이 이름을 취득할 수 있습니다. 이 메소드로 반환되는 캐릭터 라인은, JNDI 합성명은 아니고, 문맥 메소드에 직접 건네줄 수 없습니다. 완전한 이름의 개념이 의미를 가지지 않는 네이밍 시스템에서는,OperationNotSupportedException 가 throw 됩니다.

정의:
인터페이스 Context 내의 getNameInNamespace
반환값:
독자적인 이름 공간에 대한 이 문맥의 이름. null 이외
예외:
OperationNotSupportedException - 네이밍 시스템에 완전한 이름의 개념이 없는 경우
NamingException - 네이밍 예외가 발생했을 경우

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 도 참조해 주세요.