JavaTM Platform
Standard Ed. 6

javax.naming.ldap
클래스 ControlFactory

java.lang.Object 
  상위를 확장 javax.naming.ldap.ControlFactory


public abstract class ControlFactory
extends Object

이 추상 클래스는, LDAPv3 컨트롤의 작성에 사용하는 팩토리를 표시합니다. LDAPv3 컨트롤은 RFC 2251 으로 정의되고 있습니다.

서비스 프로바이더가 응답 컨트롤을 수신하면(자), 이 프로바이더는 컨트롤 팩토리를 사용해, 특정 또는 임의의 컨트롤 클래스를 돌려줍니다.

도입된 버젼:
1.3
관련 항목:
Control

생성자 의 개요
protected ControlFactory ()
           
 
메소드의 개요
abstract  Control getControlInstance (Control  ctl)
          컨트롤 팩토리를 사용하는 컨트롤을 작성합니다.
static Control getControlInstance (Control  ctl, Context  ctx, Hashtable <?,?> env)
          기존의 컨트롤 팩토리를 사용하는 컨트롤을 작성합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

ControlFactory

protected ControlFactory()
메소드의 상세

getControlInstance

public abstract Control  getControlInstance(Control  ctl)
                                    throws NamingException 
컨트롤 팩토리를 사용하는 컨트롤을 작성합니다.

이 팩토리는, 서비스 프로바이더가, LDAP 프로토콜로부터 읽어내는 컨트롤을 특수한 컨트롤 클래스로서 돌려줄 때 사용합니다. 이 기구를 사용하지 않으면, 프로바이더는 BER encode 형식의 데이터만을 포함한 컨트롤을 돌려줍니다.

일반적으로,ctl 는, BER encode 데이터를 포함한 기본적인 컨트롤입니다. 팩토리는, 특수한 컨트롤을 구현하는데 사용됩니다만, 일반적으로은, BER encode 데이터를 복합화해, 형태 보증된 안전한 방법으로 해당 데이터에 액세스 하는 메소드를 제공합니다.

예를 들어, 팩토리는 기본적인 컨트롤의 BER encode 데이터를 사용해 VirtualListReplyControl 의 인스턴스를 돌려주는 경우가 있습니다.

이 팩토리가 지정 인수를 사용해 컨트롤을 작성할 수 없는 경우, null 를 돌려줍니다. 예외가 throw 되는 것은, 이 컨트롤 팩토리만이 사용되어 다른 컨트롤 팩토리가 사용되지 않을 때 뿐입니다. 컨트롤의 BER encode 데이터가, 지정된 OID 를 가진다고 보이고 있는 컨트롤과 일치하지 않는 경우에, 예외가 throw 됩니다. 이 메소드는 NamingException 를 throw 하기 위한(해), 내부적으로 생성되는 예외를 전달할 필요가 있는 경우는,NamingException 에 랩 할 필요가 있습니다.

파라미터:
ctl - null 이외의 컨트롤
반환값:
null 의 가능성이 있는 컨트롤
예외:
NamingException - ctl 가, 컨트롤의 작성에 사용할 수 없게 된다 무효인 데이터를 포함하고 있는 경우. OID 에 의해 식별된다 컨트롤을 생성할 수 있는 경우, 팩토리는 예외만을 throw 합니다만, 무효인 BER encode 데이터등이 있으면 throw 할 수 없습니다

getControlInstance

public static Control  getControlInstance(Control  ctl,
                                         Context  ctx,
                                         Hashtable <?,?> env)
                                  throws NamingException 
기존의 컨트롤 팩토리를 사용하는 컨트롤을 작성합니다.

컨트롤을 작성하려면 , 다음의 규칙이 사용됩니다.

컨트롤 팩토리는 public 입니다만, 또 인수를 취하지 않는 public 생성자 을 가질 필요가 있습니다.

파라미터:
ctl - OID 및 BER encode 데이터를 포함한 null 이외의 컨트롤 객체
ctx - 컨트롤이 작성되는 null 의 가능성이 있는 문맥. null 의 경우는, 이 정보는 이용할 수 없는
env - null 의 가능성이 있는 문맥 환경. LdapContext.CONTROL_FACTORIES 프로퍼티의 값을 검색하는데 사용된다
반환값:
ctl 를 사용해 생성된 컨트롤 객체, 또는 상기의 알고리즘을 사용해 컨트롤 객체를 생성할 수 없다 경우는 ctl
예외:
NamingException - 네이밍 예외가, 컨트롤 객체를 작성하려고 할 때 발생했을 경우 액세스 된 팩토리의 1 개가 예외를 throw 하면(자), 그 예외는 호출해 측에 보내진다. 팩토리 및 객체 클래스의 로드안 또는 인스턴스 생성중에 에러가 발생하면(자), 그 예외는 NamingException 의 내부에 랩 되고 나서 재차 throw 된다

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