|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface ExtendedRequest
이 인터페이스는,「RFC 2251」으로 정의되고 있는 LDAPv3 확장 조작의 요구를 나타냅니다.
ExtendedRequest ::= [APPLICATION 23] SEQUENCE { requestName [0] LDAPOID, requestValue [1] OCTET STRING OPTIONAL }이 요구는, 객체 확장자(extension)의 캐릭터 라인과 임의의 ASN. 1 BER 로 encode 된 값으로 구성됩니다.
이 클래스의 메소드는 서비스 프로바이더로 사용되어 LDAP 서버에 보내는 비트를 구축합니다. 일반적으로, 어플리케이션은 이 인터페이스를 구현하는 클래스만을 처리하고 있어, 특정의 확장 조작의 요구에 응해 필요한 정보를 클래스에 제공합니다. 다음에 LDAPv3 확장 조작을 실행하기 위해서, 클래스는 인수로서LdapContext.extendedOperation() 메소드에 패스됩니다.
「시간 취득」의 확장 조작을 지원한 LDAP 서버를 예를 듭니다. LDAP 서버는, GetTimeRequest 및 GetTimeResponse 의 클래스를 다음과 같이 지정합니다.
프로그램은 이러한 클래스를 다음과 같이 사용합니다.public class GetTimeRequest implements ExtendedRequest { public GetTimeRequest() {... }; public ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length) throws NamingException { return new GetTimeResponse(id, berValue, offset, length); } ... } public class GetTimeResponse implements ExtendedResponse { long time; public GetTimeResponse(String id, byte[] berValue, int offset, int length) throws NamingException { time = ... // decode berValue to get time } public java.util.Date getDate() { return new java.util.Date(time) }; public long getTime() { return time }; ... }
GetTimeResponse resp = (GetTimeResponse) ectx.extendedOperation(new GetTimeRequest()); long time = resp.getTime();
ExtendedResponse
,
LdapContext.extendedOperation(javax.naming.ldap.ExtendedRequest)
메소드의 개요 | |
---|---|
ExtendedResponse |
createExtendedResponse (String id,
byte[] berValue,
int offset,
int length)
이 요구에 대응하는 응답 객체를 작성합니다. |
byte[] |
getEncodedValue ()
LDAP 의 확장 조작 요구의 ASN. 1 BER 로 encode 된 값을 가져옵니다. |
String |
getID ()
이 요구의 객체의 식별자를 검출합니다. |
메소드의 상세 |
---|
String getID()
byte[] getEncodedValue()
IllegalStateException
- 요구가 불충분 또는 무효인 데이터 및 상태를 포함하고 있기 (위해)때문에,
encode 된 값이 검출되지 않았던 경우ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length) throws NamingException
서비스 프로바이더가 확장 조작의 요구를 LDAP 서버에 보낸 뒤, 이 서버로부터 응답을 받아들입니다. 조작의 요구가 실패하면(자), 프로바이더는 NamingException 를 throw 합니다. 조작이 정상적으로 종료하면(자), 프로바이더는 이 메소드를 응답하러 돌아온 데이터를 사용해 호출합니다. 확장 조작의 요구에 임의의 ExtendedResponse 인터페이스를 구현하는 클래스를 돌려주는 것이, 이 메소드의 작업이 됩니다.
예를 들어, Start TLS 확장 요구 클래스는, Start TLS 확장 응답의 처리 방법을 인식하기 위해서, ExtendedResponse 를 구현하는 클래스를 작성합니다.
id
- 응답 컨트롤의 null 의 가능성이 있는 객체 식별자berValue
- null 의 가능성이 있는 응답 컨트롤의 ASN. 1 BER 로 encode 된 값
이 값은, 응답치의 태그와 길이를 포함한다
raw BER 바이트이다. 다만, 응답 OID 는 포함하지 않는다. offset
- 사용 바이트의 berValue 의 개시 위치length
- berValue 의 사용 바이트수
NamingException
- 에러이기 때문에 확장 응답이
작성할 수 없는 경우ExtendedResponse
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.