Class InitialLdapContext

Class InitialLdapContext

public class InitialLdapContext
extends InitialDirContext
implements LdapContext

LDAPv3 스타일의 확장 연산과 제어를 수행하기 위한 시작 컨텍스트(starting context)예요. 동기화와 초기 컨텍스트가 만들어지는 정책에 대한 자세한 내용은 javax.naming.InitialContextjavax.naming.InitialDirContext를 참조하세요.

요청 제어(Request Controls). 초기 컨텍스트(InitialLdapContext)를 만들 때 요청 제어 목록을 지정할 수 있어요. 이 제어들은 컨텍스트나 그 컨텍스트에서 파생된 컨텍스트가 수행하는 어떤 암시적 LDAP "bind" 연산의 요청 제어로 사용될 거예요. 이것을 연결 요청 제어(connection request controls)라고 불러요. 컨텍스트의 연결 요청 제어를 얻으려면 getConnectControls()를 사용해요. 초기 컨텍스트 생성자에 공급된 요청 제어들은 검색·lookup 같은 이후의 컨텍스트 연산에 대한 컨텍스트 요청 제어로 사용되지 않아요. 컨텍스트 요청 제어는 setRequestControls()를 사용해 설정·갱신돼요. 보여진 것처럼, 컨텍스트와 연관된 요청 제어 집합은 두 가지가 될 수 있어요: 연결 요청 제어와 컨텍스트 요청 제어. 이것은 컨텍스트 연산과 암시적 LDAP "bind" 연산 양쪽에 모두 적용되지 않을 수 있는 중요(critical) 제어를 보내야 하는 애플리케이션에게 필요해요. 전형적인 사용자 프로그램은 다음과 같은 일을 할 거예요.

InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls);
lctx.setRequestControls(critModCtls);
lctx.modifyAttributes(name, mods);
Controls[] respCtls = lctx.getResponseControls();

먼저 초기 컨텍스트를 만들기 위한 중요 제어(critConnCtls)를 지정하고, 그런 다음 컨텍스트 연산을 위한 컨텍스트의 요청 제어(critModCtls)를 설정해요. 어떤 이유로 lctx가 서버에 다시 연결해야 하면 critConnCtls를 사용할 거예요. 요청 제어에 대한 더 자세한 논의는 LdapContext 인터페이스를 참조하세요. 서비스 공급자 구현자는 구현 세부 내용에 대해 LdapContext 클래스 설명의 "서비스 공급자(Service Provider)" 섹션을 읽어야 해요.

InitialLdapContext

public InitialLdapContext()
                   throws NamingException

환경 속성이나 연결 요청 제어 없이 초기 컨텍스트를 생성해요. new InitialLdapContext(null, null)과 동등해요.

  • Throws: NamingException - 네이밍 예외가 발생했을 때

InitialLdapContext

public InitialLdapContext(Hashtable<?,?> environment,
 Control[] connCtls)
                   throws NamingException

환경 속성과 연결 요청 제어를 사용해 초기 컨텍스트를 생성해요. 환경 속성에 대한 논의는 javax.naming.InitialContext를 참조하세요. 이 생성자는 그 매개변수를 수정하거나 참조를 저장하지 않지만, 클론이나 복사본을 저장할 수 있어요. 호출자는 environment를 생성자에 전달한 후에는 environment의 변경 가능한 키와 값을 수정해서는 안 돼요. connCtls는 기반 컨텍스트 인스턴스의 연결 요청 제어로 사용돼요. 자세한 내용은 클래스 설명을 참조하세요.

  • Parameters: environment - 초기 DirContext를 만드는 데 사용되는 환경. Null은 빈 환경을 나타내요
  • Throws: NamingException - 네이밍 예외가 발생했을 때
  • See Also: reconnect(javax.naming.ldap.Control[]), LdapContext.reconnect(javax.naming.ldap.Control[])

extendedOperation

public ExtendedResponse extendedOperation(ExtendedRequest request)
                                   throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 extendedOperation
  • Parameters: request - 수행할, null이 아닌 요청
  • Returns: 연산의, null일 수 있는 응답. null은 연산이 어떤 응답도 생성하지 않았음을 의미해요
  • Throws: NamingException - 확장 연산을 수행하는 동안 오류가 발생했을 때

newInstance

public LdapContext newInstance(Control[] reqCtls)
                        throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 newInstance
  • Parameters: reqCtls - 새 컨텍스트에 사용할, null일 수 있는 요청 제어. null이면 컨텍스트는 요청 제어 없이 초기화돼요
  • Returns: null이 아닌 LdapContext 인스턴스
  • Throws: NamingException - 새 인스턴스를 만드는 동안 오류가 발생했을 때
  • See Also: InitialLdapContext

reconnect

public void reconnect(Control[] connCtls)
               throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 reconnect
  • Parameters: connCtls - 사용할, null일 수 있는 제어. null이면 어떤 제어도 사용되지 않아요
  • Throws: NamingException - 다시 연결하는 동안 오류가 발생했을 때
  • See Also: LdapContext.getConnectControls(), LdapContext.newInstance(javax.naming.ldap.Control[])

getConnectControls

public Control[] getConnectControls()
                             throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 getConnectControls
  • Returns: null일 수 있는 제어 배열. null은 이 컨텍스트에 연결 제어가 설정되지 않았음을 의미해요
  • Throws: NamingException - 요청 제어를 가져오는 동안 오류가 발생했을 때

setRequestControls

public void setRequestControls(Control[] requestControls)
                        throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 setRequestControls
  • Parameters: requestControls - 사용할, null일 수 있는 제어. null이면 어떤 제어도 사용되지 않아요
  • Throws: NamingException - 요청 제어를 설정하는 동안 오류가 발생했을 때
  • See Also: LdapContext.getRequestControls()

getRequestControls

public Control[] getRequestControls()
                             throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 getRequestControls
  • Returns: null일 수 있는 제어 배열. null은 이 컨텍스트에 요청 제어가 설정되지 않았음을 의미해요
  • Throws: NamingException - 요청 제어를 가져오는 동안 오류가 발생했을 때
  • See Also: LdapContext.setRequestControls(javax.naming.ldap.Control[])

getResponseControls

public Control[] getResponseControls()
                              throws NamingException

LdapContext 인터페이스에서 복사된 설명이에요.

  • Specified by: LdapContext 인터페이스의 getResponseControls
  • Returns: null일 수 있는 제어 배열. null이면 이 컨텍스트에서 이전에 호출된 메서드가 어떤 제어도 생성하지 않았음을 의미해요
  • Throws: NamingException - 응답 제어를 가져오는 동안 오류가 발생했을 때