Interface ExtendedResponse
Interface ExtendedResponse
public interface ExtendedResponse
extends Serializable
RFC 2251에 정의된 LDAP 확장 연산 응답(extended operation response)을 나타내는 인터페이스예요.
ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
COMPONENTS OF LDAPResult,
responseName [10] LDAPOID OPTIONAL,
response [11] OCTET STRING OPTIONAL }
선택적인 객체 식별자(optional object identifier)와 선택적인 ASN.1 BER 인코딩 값을 포함해요. 이 클래스의 메서드는 애플리케이션이 확장 연산 응답에 대한 저수준 정보를 얻는 데 쓸 수 있어요. 하지만 일반적으로 애플리케이션은 이 인터페이스를 구현하는 클래스에 특화된 메서드를 사용하게 돼요. 그런 클래스는 응답의 BER 버퍼를 디코딩해야 하며, 사용자가 응답의 데이터를 타입 안전하고 친숙한 방식으로 접근할 수 있게 하는 메서드를 제공해야 해요. 예를 들어 LDAP 서버가 'get time' 확장 연산을 지원한다고 가정해 봐요. 그러면 GetTimeRequest와 GetTimeResponse 클래스를 제공할 거예요. GetTimeResponse 클래스는 다음과 같을 수 있어요.
public class GetTimeResponse implements ExtendedResponse {
public java.util.Date getDate() {...};
public long getTime() {...};
....
}
프로그램은 이 클래스들을 다음과 같이 사용해요.
GetTimeResponse resp = (GetTimeResponse) ectx.extendedOperation(new GetTimeRequest());
java.util.Date now = resp.getDate();
getID
String getID()
응답의 객체 식별자를 가져와요. LDAP 프로토콜은 응답 객체 식별자가 선택적이라고 명시해요. 서버가 보내지 않으면 응답에는 ID가 없을(즉 null) 수 있어요.
- Returns: LDAP
ExtendedResponse.responseName구성 요소를 나타내는, null일 수 있는 객체 식별자 문자열
getEncodedValue
byte[] getEncodedValue()
LDAP 확장 연산 응답의 ASN.1 BER 인코딩 값을 가져와요. LDAP 서버가 보낸 응답에 값이 없으면 null이 반환돼요. 결과는 응답 값의 태그(tag)와 길이를 포함한 원시 BER 바이트예요. 응답 OID는 포함하지 않아요.
- Returns: LDAP
ExtendedResponse.response구성 요소의 ASN.1 BER 인코딩 내용을 나타내는, null일 수 있는 바이트 배열