JavaTM Platform
Standard Ed. 6

javax.naming.ldap
클래스 Rdn

java.lang.Object 
  상위를 확장 javax.naming.ldap.Rdn
모든 구현된 인터페이스:
Serializable , Comparable <Object >


public class Rdn
extends Object
implements Serializable , Comparable <Object >

이 클래스는, 상대 식별명, 또는 식별명의 컴퍼넌트인 RDN (RFC 2253 을 참조)를 나타냅니다. 예를 들어, 「OU=Sales+CN=J.Smith」라고 하는 RDN 는, 복수의 속성/치 페어로 구성되어 있습니다. 이 RDN 는,LdapName 의 클래스의 설명에 기재되어 있도록(듯이) 해석 대상이 됩니다.

Rdn 클래스는, RDN 를,Attributes 를 사용해 표시 가능한 속성의 형태와 값의 매핑으로서 표현합니다. Rdn 클래스에는, Rdn 가 단일의 형/치 페어 (일반적으로 이 형식에서 사용)로 구성되어 있을 때, 이 형태와 값을 간단하게 취득할 수 있도록(듯이) 하는 편리한 메소드가 포함되어 있습니다. 또, RFC 2253 에 정의되고 있는 이스케이프 구문에 따라, 서식 없음 속성치의 이스케이프와 서식화 된 값의 이스케이프 해제를 행하는 헬퍼 메소드도 포함되어 있습니다. 속성치를 Object 로서 취득, 또는 돌려주는 메소드의 경우, 값은 String (이스케이프 해제된 서식) 또는 바이트 배열이 됩니다.

Rdn 는, 유효한 RDN 를 모두 적절히 해석하는 한편으로, 무효인 RDN 의 해석시에는, 가능한 모든 위반을 검출하지 않습니다. 즉, 무효인 RDN 에 대해서 「관대」입니다. 이름의 유효성은, 최종적으로 LDAP 서버에게 건네진 시점에서 판정됩니다. LDAP 서버는, schema 정보나 상호 운용의 요건등의 각종 요인에 근거해, 건네받은 이름을 받아들이는지 거부합니다.

다음에 나타내는 것은, 형태와 값을 인수로서 취하는 생성자 을 사용해 Rdn 를 구축하는 코드예입니다.

        Rdn rdn = new Rdn("cn", "Juicy, Fruit");
        System.out.println(rdn.toString());
 
맨 마지막 줄에 의해,cn=Juicy\, Fruit 가 출력됩니다. 원의 값 "Juicy, Fruit" 내의 이스케이프 된 콤마의 이스케이프를 해제하는데는,unescapeValue() 메소드를 사용합니다. 콤마의 전에 이스케이프를 추가하려면 ,escapeValue() 메소드를 사용합니다.

이 클래스는, RFC 2253 에 정의되고 있는 RDN 의 캐릭터 라인 표현에 의해, 인스턴스화 됩니다. 다음의 코드예를 참조해 주세요.

        Rdn rdn = new Rdn("cn=Juicy\\, Fruit");
        System.out.println(rdn.toString());
 
맨 마지막 줄에 의해,cn=Juicy\, Fruit 가 출력됩니다.

Rdn 의 인스턴스에 대한 읽기 전용의 병렬 multi-thread 액세스는, 반드시 동기 시키지 않아도 괜찮습니다.

별도 지정된 사항이 없는 경우, null 인수를 생성자 , 또는 이 클래스의 메소드에 건네주면(자), NullPointerException 가 throw 됩니다.

도입된 버젼:
1.5
관련 항목:
직렬화 된 형식

생성자 의 개요
Rdn (Attributes  attrSet)
          지정의 속성 세트로부터 Rdn 를 작성합니다.
Rdn (Rdn  rdn)
          지정의 rdn 로부터 Rdn 를 작성합니다.
Rdn (String  rdnString)
          지정의 캐릭터 라인으로부터 Rdn 를 작성합니다.
Rdn (String  type, Object  value)
          지정의 속성의 형태 및 값으로부터 Rdn 를 작성합니다.
 
메소드의 개요
 int compareTo (Object  obj)
          Rdn 와 지정된 Object 의 순서를 비교합니다.
 boolean equals (Object  obj)
          지정의 Object 곳의 Rdn 의 동등성을 비교합니다.
static String escapeValue (Object  val)
          속성의 값을 지정해,RFC 2253 으로 지정되고 있는 규칙에 따라 이스케이프 된 캐릭터 라인을 돌려줍니다.
 String getType ()
          이 Rdn 의 형태의 1 개를 가져옵니다.
 Object getValue ()
          이 Rdn 의 값의 1 개를 가져옵니다.
 int hashCode ()
          이 RDN 의 해시 코드를 돌려줍니다.
 int size ()
          이 Rdn 에 포함되는 속성의 형/치 페어의 수를 가져옵니다.
 Attributes toAttributes ()
          이 Rdn 에 포함되는 형/치의 매핑 Attributes 뷰를 가져옵니다.
 String toString ()
          RFC 2253 에 정의되어LdapName 의 클래스의 설명에 기재되어 있는 서식에서 표현된 캐릭터 라인으로서 이 Rdn 를 돌려줍니다.
static Object unescapeValue (String  val)
          RFC 2253 으로 지정되고 있는 규칙에 따라 서식화 된 속성치의 캐릭터 라인을 지정해, 서식화되어 있지 않은 값을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

Rdn

public Rdn(Attributes  attrSet)
    throws InvalidNameException 
지정의 속성 세트로부터 Rdn 를 작성합니다. Attributes 를 참조해 주세요.

캐릭터 라인의 속성치는,RFC 2253 지정의 서식의 RDN 캐릭터 라인과는 해석되지 않습니다. 즉, 이러한 값은 문자 대로 해석되고 (해석의 대상이 되지 않는다), 이스케이프는 해제되고 있는 것이라고 보여집니다.

파라미터:
attrSet - 형/치의 매핑을 포함한 null 이외의 빈 상태(empty)이 아닌 속성
예외:
InvalidNameException - attrSet 의 내용을 사용해 유효한 RDN 를 작성할 수 없는 경우

Rdn

public Rdn(String  rdnString)
    throws InvalidNameException 
지정의 캐릭터 라인으로부터 Rdn 를 작성합니다. 이 생성자 은,RFC 2253 에 정의되고 있는 규칙에 따라 서식화 된 캐릭터 라인을 취합니다. 이 규칙에 대해서는,LdapName 의 클래스의 설명을 참조해 주세요.

파라미터:
rdnString - RFC 2253 에 정의되고 있는 서식을 가지는, null 이외의 빈 상태(empty)이 아닌 캐릭터 라인
예외:
InvalidNameException - rdnString 의 구문 분석시에 구문 에러가 발생했을 경우

Rdn

public Rdn(Rdn  rdn)
지정의 rdn 로부터 Rdn 를 작성합니다. rdn 의 내용은, 새롭게 작성된 Rdn 에 단순하게 카피됩니다.

파라미터:
rdn - 카피하는 null 이외의 Rdn

Rdn

public Rdn(String  type,
           Object  value)
    throws InvalidNameException 
지정의 속성의 형태 및 값으로부터 Rdn 를 작성합니다. 캐릭터 라인의 속성치는,RFC 2253 지정의 서식의 RDN 캐릭터 라인과는 해석되지 않습니다. 즉, 이러한 값은 문자 대로 해석되고 (해석의 대상이 되지 않는다), 이스케이프는 해제되고 있는 것이라고 보여집니다.

파라미터:
type - null 이외의 빈 상태(empty)이 아닌 캐릭터 라인의 속성의 형태
value - null 이외의 빈 상태(empty)이 아닌 캐릭터 라인의 속성의 값
예외:
InvalidNameException - 형/치의 페어를 사용해 유효한 RDN 를 작성할 수 없는 경우
관련 항목:
toString()
메소드의 상세

getValue

public Object  getValue()
이 Rdn 의 값의 1 개를 가져옵니다. 이것은, RDN 에 형태와 값의 매핑이 1 개만 포함될 때 (일반적인 RDN 의 사용예), 이 값을 취득하기 위해서 사용하는 편리한 메소드입니다.

RDN 의 값이 복수 존재하는 경우, 이 메소드는,getType() 메소드에 의해 반환되는 형태에 대응하는 값을 돌려줍니다.

반환값:
null 이외의 속성치

getType

public String  getType()
이 Rdn 의 형태의 1 개를 가져옵니다. 이것은, RDN 에 형태와 값의 매핑이 1 개만 포함될 때 (일반적인 RDN 의 사용예), 이 형태를 취득하기 위해서 사용하는 편리한 메소드입니다.

RDN 의 값이 복수 존재하는 경우, 형/치 페어의 순서는 특히 정의되고 있지 않습니다. 이 경우, 이 메소드는, 형/치 페어의 어느쪽이든 1 개의 형태를 돌려줍니다. getValue() 메소드는, 이 메소드에 의해 반환되는 형태에 대응하는 값을 돌려줍니다.

반환값:
null 이외의 속성형

toString

public String  toString()
RFC 2253 에 정의되어LdapName 의 클래스의 설명에 기재되어 있는 서식에서 표현된 캐릭터 라인으로서 이 Rdn 를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
Rdn 의 캐릭터 라인 표현

compareTo

public int compareTo(Object  obj)
Rdn 와 지정된 Object 의 순서를 비교합니다. Rdn 가 지정된 Object 보다 작은 경우는 부의 정수, 동일한 경우는 0, 큰 경우는 정의 정수를 각각 돌려줍니다.

obj 가 null, 또는 Rdn 의 인스턴스가 아닌 경우는, ClassCastException 가 throw 됩니다.

RDN 의 속성의 형태와 값의 페어가, 각각 사전적으로 비교됩니다. 복수의 값을 가지는 Rdn ( 「ou=Sales+cn=Bob」 등) 내의 컴퍼넌트의 순서는 중요하지는 않습니다.

정의:
인터페이스 Comparable <Object > 내의 compareTo
파라미터:
obj - 비교되는 null 이외의 객체
반환값:
주어진 객체보다 이 Rdn 가 작은 경우는 부의 정수, 동일한 경우는 0, 큰 경우는 정의 정수
예외:
ClassCastException - obj 가 null 인지, Rdn 가 아닌 경우


equals

public boolean equals(Object  obj)
지정의 Object 곳의 Rdn 의 동등성을 비교합니다. 비교 대조의 객체도 Rdn 이며, 2 개의 Rdn 가 동일한 속성의 형태와 값의 매핑을 나타내고 있는 경우는, true 가 돌려주어집니다. 복수의 값을 가지는 Rdn ( 「ou=Sales+cn=Bob」 등) 내의 컴퍼넌트의 순서는 중요하지는 않습니다.

형태의 값의 동등성의 매칭은 다음과 같이 행해집니다.

obj 가 null 인 경우, 또는 Rdn 의 인스턴스가 아닌 경우는, false 가 돌려주어집니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 이 Rdn 와 동일한지 어떤지를 비교하는 객체
반환값:
지정된 객체가 이 Rdn 와 동일한 경우는 true
관련 항목:
hashCode()

hashCode

public int hashCode()
이 RDN 의 해시 코드를 돌려줍니다. equals 메소드에 의해 동등하다라고 하는 것이 알고 있는 2 개의 RDN 는, 같은 해시 코드를 가집니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 Rdn 의 해시 코드를 나타내는 int
관련 항목:
equals(java.lang.Object)

toAttributes

public Attributes  toAttributes()
이 Rdn 에 포함되는 형/치의 매핑 Attributes 뷰를 가져옵니다.

반환값:
이 Rdn 의 형/치의 매핑을 포함한, null 이외의 속성

size

public int size()
이 Rdn 에 포함되는 속성의 형/치 페어의 수를 가져옵니다.

반환값:
이 Rdn 에 포함되는 형/치 페어의 수 (0 이상)

escapeValue

public static String  escapeValue(Object  val)
속성의 값을 지정해,RFC 2253 으로 지정되고 있는 규칙에 따라 이스케이프 된 캐릭터 라인을 돌려줍니다.

예를 들어, val 가 「Sue, Grabbit and Runn」의 경우, 이 메소드에 의해 반환되는 이스케이프 된 값은, 「Sue\, Grabbit and Runn」가 됩니다.

캐릭터 라인치는, String 와 바이트 배열로 나타내지는 바이너리치로서 표현됩니다.

파라미터:
val - 이스케이프 하는 null 이외의 객체
반환값:
이스케이프 된 캐릭터 라인치
예외:
ClassCastException - val 가 String 에서도 바이트 배열도 아닌 경우

unescapeValue

public static Object  unescapeValue(String  val)
RFC 2253 으로 지정되고 있는 규칙에 따라 서식화 된 속성치의 캐릭터 라인을 지정해, 서식화되어 있지 않은 값을 돌려줍니다. 이스케이프와 인용부호는 제거되어 16 진인코딩 된 UTF-8 는 동등의 UTF-16 문자에 변환됩니다. 캐릭터 라인치를 String, 바이너리치를 바이트 배열로서 돌려줍니다.

정당한 값과 부당한 값은, RFC 2253 에 정의되고 있습니다. 이 메소드는, 값을 받아들이는 것에 대해 관대해, 부당한 값을 모두 검출하지 않습니다. 따라서, 부당한 값을 건네주어도, 반드시 IllegalArgumentException 는 트리거되지 않습니다.

파라미터:
val - 이스케이프 해제하는 null 이외의 캐릭터 라인
반환값:
이스케이프 해제된 값
예외:
IllegalArgumentException - 부당한 값이 건네받았을 경우

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