JavaTM Platform
Standard Ed. 6

javax.naming.ldap
클래스 InitialLdapContext

java.lang.Object 
  상위를 확장 javax.naming.InitialContext 
      상위를 확장 javax.naming.directory.InitialDirContext 
          상위를 확장 javax.naming.ldap.InitialLdapContext
모든 구현된 인터페이스:
Context , DirContext , LdapContext


public class InitialLdapContext
extends InitialDirContext
implements LdapContext

이 클래스는, LDAPv3 스타일의 확장 조작 및 확장 컨트롤을 실행하기 위한 초기 문맥입니다.

동기에 관한 상세, 초기 문맥의 작성 방침에 대해서는,javax.naming.InitialContextjavax.naming.InitialDirContext 를 참조해 주세요.

요구 컨트롤

InitialLdapContext 인 초기 문맥을 작성할 때는, 요구 컨트롤의 리스트를 지정할 수 있습니다. 리스트내의 컨트롤은, 문맥, 또는 문맥으로부터 파생한 문맥에 의해 실행된 암묵적인 LDAP 바인드 조작을 위한 요구 컨트롤로서 사용됩니다. 이러한 컨트롤을 「접속 요구 컨트롤」이라고 합니다. 문맥의 접속 요구 컨트롤을 가져오려면 ,getConnectControls() 를 사용합니다.

초기 문맥 생성자 으로 지정된 요구 컨트롤은, 검색 및 룩 업등의 후속의 문맥 조작의 문맥 요구 컨트롤로서는 사용되지 않습니다. 문맥 요구 컨트롤은,setRequestControls() 를 사용해 설정 및 변경됩니다.

따라서, 문맥에 관련한 요구 컨트롤에는, 접속 요구 컨트롤과 문맥 요구 컨트롤의 2 종류세트를 가지는 일이 있습니다. 이것은, 문맥 조작과 암묵적인 LDAP 바인드 조작의 양쪽 모두에 적용할 수 있는 위기인 컨트롤을 보낼 필요가 있는 어플리케이션에는 필요합니다. 일반 사용자의 프로그램은 다음과 같이 처리됩니다.

 InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls);
 lctx.setRequestControls(critModCtls);
 lctx.modifyAttributes(name, mods);
 Controls[] respCtls =  lctx.getResponseControls();
우선, 초기 문맥을 작성하기 위해서, 위기인 컨트롤 (critConnCtls)을 지정합니다. 다음에, 문맥 조작을 위한 문맥의 요구 컨트롤 (critModCtls)을 설정합니다. 어떠한 이유이기 때문에 lctx 가 재차 서버에 접속할 필요가 있는 경우는,critConnCtls 를 사용합니다. 요구 컨트롤의 자세한 것은 LdapContext 인터페이스를 참조해 주세요.

구현의 상세한 것에 대하여는, 구현측인 서비스 프로바이더는,LdapContext 클래스의 「서비스 프로바이더」섹션을 숙읽기 주세요.

도입된 버젼:
1.3
관련 항목:
LdapContext , InitialContext , InitialDirContext , NamingManager.setInitialContextFactoryBuilder(javax.naming.spi.InitialContextFactoryBuilder)

필드의 개요
 
클래스 javax.naming. InitialContext 으로부터 상속된 필드
defaultInitCtx , gotDefault , myProps
 
인터페이스 javax.naming.ldap. LdapContext 로부터 상속된 필드
CONTROL_FACTORIES
 
인터페이스 javax.naming.directory. DirContext 로부터 상속된 필드
ADD_ATTRIBUTE , REMOVE_ATTRIBUTE , REPLACE_ATTRIBUTE
 
인터페이스 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
 
생성자 의 개요
InitialLdapContext ()
          환경 프로퍼티 또는 접속 요구 컨트롤을 사용하지 않고, 초기 문맥을 구축합니다.
InitialLdapContext (Hashtable <?,?> environment, Control [] connCtls)
          환경 프로퍼티 및 접속 요구 컨트롤을 사용해, 초기 문맥을 구축합니다.
 
메소드의 개요
 ExtendedResponse extendedOperation (ExtendedRequest  request)
          확장 조작을 실행합니다.
 Control [] getConnectControls ()
          이 문맥에 유효한 접속 요구 컨트롤을 가져옵니다.
 Control [] getRequestControls ()
          이 문맥에 유효한 요구 컨트롤을 가져옵니다.
 Control [] getResponseControls ()
          이 문맥으로 마지막에 불려 간 메소드의 결과로서 생성된 응답 컨트롤을 가져옵니다.
 LdapContext newInstance (Control [] reqCtls)
          이 문맥의 새로운 인스턴스를 요구 컨트롤을 사용해 생성합니다.
 void reconnect (Control [] connCtls)
          지정된 컨트롤과 이 문맥 환경을 사용해 LDAP 서버에 재접속합니다.
 void setRequestControls (Control [] requestControls)
          이 문맥으로 계속해 불려 가는 메소드에 요구 컨트롤을 설정합니다.
 
클래스 javax.naming.directory. InitialDirContext 로부터 상속된 메소드
bind , bind , createSubcontext , createSubcontext , getAttributes , getAttributes , getAttributes , getAttributes , getSchema , getSchema , getSchemaClassDefinition , getSchemaClassDefinition , modifyAttributes , modifyAttributes , modifyAttributes , modifyAttributes , rebind , rebind , search , search , search , search , search , search , search , search
 
클래스 javax.naming. InitialContext 로부터 상속된 메소드
addToEnvironment , bind , bind , close , composeName , composeName , createSubcontext , createSubcontext , destroySubcontext , destroySubcontext , doLookup , doLookup , getDefaultInitCtx , getEnvironment , getNameInNamespace , getNameParser , getNameParser , getURLOrDefaultInitCtx , getURLOrDefaultInitCtx , init , list , list , listBindings , listBindings , lookup , lookup , lookupLink , lookupLink , rebind , rebind , removeFromEnvironment , rename , rename , unbind , unbind
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 
인터페이스 javax.naming.directory. DirContext 로부터 상속된 메소드
bind , bind , createSubcontext , createSubcontext , getAttributes , getAttributes , getAttributes , getAttributes , getSchema , getSchema , getSchemaClassDefinition , getSchemaClassDefinition , modifyAttributes , modifyAttributes , modifyAttributes , modifyAttributes , rebind , rebind , search , search , search , search , search , search , search , search
 
인터페이스 javax.naming. Context 로부터 상속된 메소드
addToEnvironment , bind , bind , close , composeName , composeName , createSubcontext , createSubcontext , destroySubcontext , destroySubcontext , getEnvironment , getNameInNamespace , getNameParser , getNameParser , list , list , listBindings , listBindings , lookup , lookup , lookupLink , lookupLink , rebind , rebind , removeFromEnvironment , rename , rename , unbind , unbind
 

생성자 의 상세

InitialLdapContext

public InitialLdapContext()
                   throws NamingException 
환경 프로퍼티 또는 접속 요구 컨트롤을 사용하지 않고, 초기 문맥을 구축합니다. new InitialLdapContext(null, null) 와 동등합니다.

예외:
NamingException - 네이밍 예외가 발생했을 경우

InitialLdapContext

public InitialLdapContext(Hashtable <?,?> environment,
                          Control [] connCtls)
                   throws NamingException 
환경 프로퍼티 및 접속 요구 컨트롤을 사용해, 초기 문맥을 구축합니다. 환경 프로퍼티에 대해서는,javax.naming.InitialContext 를 참조해 주세요.

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

connCtls 는, 기가 되는 문맥 인스턴스의 접속 요구 컨트롤로서 사용됩니다. 상세한 것에 대하여는, 클래스에 대한 기술을 참조해 주세요.

파라미터:
environment - 초기 DirContext 의 작성에 사용되는 환경. null 는 빈 상태(empty)의 환경을 나타내는
connCtls - 초기 문맥의 접속 요구 컨트롤. null 의 경우, 접속 요구 컨트롤은 사용되지 않는다
예외:
NamingException - 네이밍 예외가 발생했을 경우
관련 항목:
reconnect(javax.naming.ldap.Control[]) , LdapContext.reconnect(javax.naming.ldap.Control[])
메소드의 상세

extendedOperation

public ExtendedResponse  extendedOperation(ExtendedRequest  request)
                                   throws NamingException 
인터페이스 LdapContext 의 기술:
확장 조작을 실행합니다. 이 메소드를 사용해, LDAPv3 확장 조작을 지원합니다.

정의:
인터페이스 LdapContext 내의 extendedOperation
파라미터:
request - 실행하는 null 이외의 요구
반환값:
null 의 가능성이 있는 조작의 응답. null 는, 조작을 해도 응답은 아무것도 생성되지 않는 것을 나타낸다
예외:
NamingException - 확장 조작의 실행중에 에러가 발생했을 경우

newInstance

public LdapContext  newInstance(Control [] reqCtls)
                        throws NamingException 
인터페이스 LdapContext 의 기술:
이 문맥의 새로운 인스턴스를 요구 컨트롤을 사용해 생성합니다. 이 메소드는, multi-thread의 액세스를 위해서(때문에) 이 문맥 인스턴스를 새롭게 작성하는 편리한 수법입니다. 예를 들어, 복수의 thread가 각각 다른 문맥 요구 컨트롤을 사용하고 싶은 경우, 각 thread는, 다른 thread와 동기 할 필요가 없고, 이 메소드를 사용해, 이 문맥 독자적인 카피를 취득해, 문맥 요구 컨트롤을 설정 또는 취득할 수 있습니다.

신규 문맥에는, 이 문맥과 같은 환경 프로퍼티, 접속 요구 컨트롤이 있습니다. 상세한 것에 대하여는, 클래스에 대한 기술을 참조해 주세요. 이 문맥과 신규 문맥의 사이로, 같은 네트워크 접속 또는 그 외의 자원을 공유할 수도 있습니다. 다만, 각 문맥의 사이에 경합이 발생하는 경우는, 공유할 수 없습니다.

정의:
인터페이스 LdapContext 내의 newInstance
파라미터:
reqCtls - 새로운 문맥에 사용하는 null 의 가능성이 어느 요구 컨트롤 null 의 경우는, 요구 컨트롤을 사용하지 않고 초기화된다
반환값:
null 이외의 LdapContext 인스턴스
예외:
NamingException - 새로운 인스턴스의 작성중에 에러가 발생했을 경우
관련 항목:
InitialLdapContext

reconnect

public void reconnect(Control [] connCtls)
               throws NamingException 
인터페이스 LdapContext 의 기술:
지정된 컨트롤과 이 문맥 환경을 사용해 LDAP 서버에 재접속합니다.

이 메소드는, LDAP 의 바인드 조작을 명시적으로 초기화하는 방법입니다. 이 메소드를 사용해, LDAP 바인드 조작에 요구 컨트롤을 설정하거나 또는 그 조작에 의해 반환되는 응답 컨트롤을 취득하기 위해서 명시적으로 서버에 접속할 수 있습니다.

이 메소드에서는, 이 문맥의 connCtls 를 신규 접속 요구 컨트롤이 되도록(듯이) 설정합니다. 이 문맥의 문맥 요구 컨트롤은 영향을 받지 않습니다. 이 메소드가 불려 가면(자), 그 후에 계속되는 암묵적인 재접속이 connCtls 를 사용해 실행됩니다. connCtls 는 또, 접속 요구 컨트롤로서 이 문맥으로부터 파생한 신규 문맥 인스턴스에도 사용됩니다. 이러한 접속 요구 컨트롤은,setRequestControls() 의 영향을 받지 않습니다.

구현의 상세한 것에 대하여는, 구현측인 서비스 프로바이더는, 클래스의 「서비스 프로바이더」섹션을 잘 읽어 주세요.

정의:
인터페이스 LdapContext 내의 reconnect
파라미터:
connCtls - null 의 가능성이 있는 사용하기 위한 컨트롤. null 의 경우, 컨트롤이 사용되지 않는다
예외:
NamingException - 재접속중에 에러가 발생했을 경우
관련 항목:
LdapContext.getConnectControls() , LdapContext.newInstance(javax.naming.ldap.Control[])

getConnectControls

public Control [] getConnectControls()
                             throws NamingException 
인터페이스 LdapContext 의 기술:
이 문맥에 유효한 접속 요구 컨트롤을 가져옵니다. 컨트롤은, JNDI 구현이 소유하고 있어, 불변입니다. 배열, 컨트롤의 어느쪽이나, 호출측은 변경할 수 없습니다.

정의:
인터페이스 LdapContext 내의 getConnectControls
반환값:
null 의 가능성이 있는 컨트롤의 배열. null 는, 이 문맥에 대해서 접속 컨트롤이 설정되어 있지 않은 것을 나타낸다
예외:
NamingException - 요구 컨트롤의 취득중에, 에러가 발생했을 경우

setRequestControls

public void setRequestControls(Control [] requestControls)
                        throws NamingException 
인터페이스 LdapContext 의 기술:
이 문맥으로 계속해 불려 가는 메소드에 요구 컨트롤을 설정합니다. 이 요구 컨트롤은, JNDI 구현이 소유하고 있어, 불변입니다. 배열, 컨트롤의 어느쪽이나, 호출측은 변경할 수 없습니다.

이전의 요구 컨트롤을 모두 삭제해, 계속해 이 문맥으로 불려 가는 메소드가 사용하기 위해서requestControls 를 추가합니다.

requestControls 는, 다음에 setRequestControls() 를 호출할 때까지 유효합니다. 더 이상 문맥 메소드에 영향을 주고 싶지 않은 경우는, 컨트롤을 해제하기 위해서,null 또는 빈 상태(empty)의 배열을 가지는 setRequestControls() 를 명시적으로 호출할 필요가 있습니다. 이 문맥에 효과적인 요구 컨트롤을 확인하려면 ,getRequestControls() 를 사용합니다.

정의:
인터페이스 LdapContext 내의 setRequestControls
파라미터:
requestControls - null 의 가능성이 있는 사용하기 위한 컨트롤. null 의 경우, 컨트롤이 사용되지 않는다
예외:
NamingException - 요구 컨트롤의 설정중에 에러가 발생했을 경우
관련 항목:
LdapContext.getRequestControls()

getRequestControls

public Control [] getRequestControls()
                             throws NamingException 
인터페이스 LdapContext 의 기술:
이 문맥에 유효한 요구 컨트롤을 가져옵니다. 이 요구 컨트롤은, JNDI 구현이 소유하고 있어, 불변입니다. 배열, 컨트롤의 어느쪽이나, 호출측은 변경할 수 없습니다.

정의:
인터페이스 LdapContext 내의 getRequestControls
반환값:
null 의 가능성이 있는 컨트롤의 배열. null 는, 이 문맥에 대해서 요구 컨트롤이 설정되어 있지 않은 것을 나타낸다
예외:
NamingException - 요구 컨트롤의 취득중에, 에러가 발생했을 경우
관련 항목:
LdapContext.setRequestControls(javax.naming.ldap.Control[])

getResponseControls

public Control [] getResponseControls()
                              throws NamingException 
인터페이스 LdapContext 의 기술:
이 문맥으로 마지막에 불려 간 메소드의 결과로서 생성된 응답 컨트롤을 가져옵니다. 이 응답 컨트롤은, JNDI 구현이 소유하고 있어, 불변입니다. 배열, 컨트롤의 어느쪽이나, 호출측은 변경할 수 없습니다.

이러한 응답 컨트롤에는, 정상적으로 종료한 조작 또는 실패한 조작에 의해 생성된 것이 있습니다.

응답 컨트롤을 돌려줄 수가 있는 문맥 메소드가 불려 가면(자), 이전의 메소드 호출로부터의 응답 컨트롤은 모두 해제됩니다. getResponseControls() 는, LDAP 서버로부터 받은 순서로, 문맥 메소드가 조작한 LDAP 에 의해 생성되는 모든 응답 컨트롤을 돌려줍니다. getResponseControls() 를 호출하면(자), 이전의 응답 컨트롤은 해제되지 않습니다. 컨트롤을 돌려줄 수가 있는 다음의 문맥 메소드가 불려 갈 때까지 몇 번이라도 호출하거나 같은 컨트롤을 되돌리거나 하는 것이 가능합니다.

정의:
인터페이스 LdapContext 내의 getResponseControls
반환값:
null 의 가능성이 있는 컨트롤의 배열. null 의 경우, 이 문맥으로 불려 간 이전의 메소드는 컨트롤을 생성하고 있지 않다
예외:
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 도 참조해 주세요.