JavaTM Platform
Standard Ed. 6

javax.naming.directory
인터페이스 Attribute

모든 슈퍼 인터페이스:
Cloneable , Serializable
기존의 구현 클래스의 일람:
BasicAttribute


public interface Attribute
extends Cloneable , Serializable

이 인터페이스는 지정한 객체에 관련지을 수 있었던 속성을 나타냅니다.

디렉토리에서는, 지정된 객체는 그러한 속성과 관련지을 수가 있습니다. Attribute 인터페이스는, 지정된 객체와 관련지을 수 있었던 속성을 나타냅니다. 속성에는 0 이상의 값이 포함되어 값은 null 의 경우도 있습니다. 속성치는 순서 붙여도 순서 붙이지 않아도 괜찮습니다 ( 「isOrdered()」를 참조). 값이 순서 붙일 수 있지 않은 경우는, 복제는 허가되지 않습니다. 값이 순서 붙일 수 있고 있는 경우는, 복제는 허가됩니다.

속성 및 그 값의 내용과 표현은, 그 속성의 「schema」로 정의됩니다. schema에는, 속성의 구문 및 그 속성에 관한 그 외의 프로퍼티에 대한 정보가 포함되어 있습니다. 기본이 되는 디렉토리 서비스가 schema를 지원하는 경우의, 속성에 관한 schema 정보의 취득 방법의 자세한 것은, 「getAttributeDefinition()」 및 「getAttributeSyntaxDefinition()」를 참조해 주세요.

2 개의 속성이 동일한지 어떤지는 구현 클래스에 의해 판별됩니다. 간단한 구현에서는 Object.equals() 를 사용해 속성치가 동일한지 어떤지 판별할 수 있습니다만, 보다 고도의 구현에서는 schema 정보를 이용합니다. 같이 어느 구현에서는 생성자 에게 건네진 값을 돌려줄 뿐(만큼)의 정적 기억 구조를 제공해, 다른 구현에서는,get()getAll() 를 정의해 디렉토리로부터 동적으로 값을 가져옵니다.

Attribute 의 변경 (값의 추가나 삭제등)은, 해당하는 디렉토리의 속성의 표시에는 영향을 주지 않습니다. 디렉토리의 변경은,DirContext 인터페이스의 조작을 사용했을 경우에 한정해, 유효하게 됩니다.

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

필드의 개요
static long serialVersionUID
          상호 운용성을 위해서(때문에), JNDI 1.1. 1 의 serialVersionUID 를 사용합니다.
 
메소드의 개요
 void add (int ix, Object  attrVal)
          속성치를 속성치의 순서 붙일 수 있었던 리스트에 추가합니다.
 boolean add (Object  attrVal)
          속성에 새로운 값을 추가합니다.
 void clear ()
          이 속성으로부터 모든 값을 삭제합니다.
 Object clone ()
          속성의 카피를 작성합니다.
 boolean contains (Object  attrVal)
          값이 속성내에 있을지 어떨지를 판별합니다.
 Object get ()
          이 속성의 값의 1 개를 검출합니다.
 Object get (int ix)
          속성치의 순서 붙일 수 있었던 리스트로부터 속성치를 꺼냅니다.
 NamingEnumeration <? > getAll ()
          속성치의 열거를 꺼냅니다.
 DirContext getAttributeDefinition ()
          속성의 schema 정의를 꺼냅니다.
 DirContext getAttributeSyntaxDefinition ()
          속성에 관련지을 수 있었던 구문 정의를 꺼냅니다.
 String getID ()
          이 속성의 ID 를 꺼냅니다.
 boolean isOrdered ()
          속성치가 순서부등이라고 있을지 어떨지를 판별합니다.
 Object remove (int ix)
          속성치의 순서 붙일 수 있었던 리스트로부터 속성치를 삭제합니다.
 boolean remove (Object  attrval)
          지정된 값을 속성으로부터 삭제합니다.
 Object set (int ix, Object  attrVal)
          속성치의 순서 붙일 수 있었던 리스트의 속성치를 설정합니다.
 int size ()
          이 속성의 치수를 꺼냅니다.
 

필드의 상세

serialVersionUID

static final long serialVersionUID
상호 운용성을 위해서(때문에), JNDI 1.1. 1 의 serialVersionUID 를 사용합니다.

관련 항목:
정수 필드치
메소드의 상세

getAll

NamingEnumeration <? > getAll()
                            throws NamingException 
속성치의 열거를 꺼냅니다. 이 열거의 동작은, 열거의 진행중에 속성의 값을 추가, 변경, 또는 삭제하는 경우는 보증되지 않습니다. 속성치가 순서 붙일 수 있고 있는 경우는, 열거의 항목도 순서 붙일 수 있습니다.

반환값:
속성치의 null 이외의 열거. 열거의 각 요소는 null 객체의 가능성이 있다. 객체의 클래스는 속성치의 클래스이다. 속성치가 null 의 경우는 요소는 null 가 된다. 속성에 제로치가 포함되는 경우는 빈 상태(empty)의 열거가 반환된다
예외:
NamingException - 치를 바쁜 와중에 네이밍 예외가 발생했을 경우
관련 항목:
isOrdered()

get

Object  get()
           throws NamingException 
이 속성의 값의 1 개를 검출합니다. 속성치가 복수로, 순서 붙일 수 있지 않은 경우는, 그러한 값의 어느쪽이든 1 개(살)이 돌려주어집니다. 속성치가 복수로 순서 붙일 수 있고 있는 경우는, 최초의 값이 돌려주어집니다.

반환값:
null 의 가능성이 있는, 속성치의 1 개를 나타낸다 객체. 속성치가 null 의 경우는 null
예외:
NamingException - 치의 취득중에 네이밍 예외가 발생했을 경우
NoSuchElementException - 이 속성에 값이 없는 경우

size

int size()
이 속성의 치수를 꺼냅니다.

반환값:
이 속성의 부가 아닌 치수

getID

String  getID()
이 속성의 ID 를 꺼냅니다.

반환값:
이 속성의 ID. null 는 불가

contains

boolean contains(Object  attrVal)
값이 속성내에 있을지 어떨지를 판별합니다. 동일한지 어떤지는 구현으로 판별됩니다. 구현에서는 Object.equals() 또는 schema 정보를 사용해 동일한지 어떤지를 판별할 수 있습니다.

파라미터:
attrVal - null 의 가능성이 있다, 확인 대상의 값. null 의 경우, 속성이 null 치의 속성치를 가질지 어떨지를 판정한다
반환값:
attrVal 가 이 속성치의 1 개인 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.equals(java.lang.Object) , BasicAttribute.equals(java.lang.Object)

add

boolean add(Object  attrVal)
속성에 새로운 값을 추가합니다. 속성치가 순서 붙일 수 있지 않고,attrVal 가 속성내에 존재하는 경우는, 이 메소드는 기능하지 않습니다. 속성치가 순서 붙일 수 있고 있는 경우는,attrVal 는 속성치의 리스트의 말미에 추가됩니다.

동일한지 어떤지는 구현으로 판별됩니다. 구현에서는 Object.equals() 또는 schema 정보를 사용해 동일한지 어떤지를 판별할 수 있습니다.

파라미터:
attrVal - null 의 가능성이 있는, 추가하는 새로운 값. null 의 경우, null 가 속성치로서 추가된다
반환값:
치가 추가되었을 경우는 true, 그렇지 않은 경우는 false

remove

boolean remove(Object  attrval)
지정된 값을 속성으로부터 삭제합니다. attrval 가 속성내에 존재하지 않는 경우는, 이 메소드는 기능하지 않습니다. 속성치가 순서 붙일 수 있고 있는 경우는, 최초로 발생하는 attrVal 가 삭제되어, 삭제된 값보다 큰 인덱스에 있는 속성치는 리스트의 선두 방향으로 위에 쉬프트 되어 인덱스는 1 개씩 줄여집니다.

동일한지 어떤지는 구현으로 판별됩니다. 구현에서는 Object.equals() 또는 schema 정보를 사용해 동일한지 어떤지를 판별할 수 있습니다.

파라미터:
attrval - null 의 가능성이 있는, 이 속성으로부터 삭제하는 값. null 의 경우, null 의 속성치가 삭제된다
반환값:
치가 삭제되었을 경우는 true, 그렇지 않은 경우는 false

clear

void clear()
이 속성으로부터 모든 값을 삭제합니다.


getAttributeSyntaxDefinition

DirContext  getAttributeSyntaxDefinition()
                                        throws NamingException 
속성에 관련지을 수 있었던 구문 정의를 꺼냅니다. 속성의 구문 정의에서는, 1 개(살) 이상의 속성치의 형식을 지정합니다. 이것은, Java 객체로서 속성치를 표현하는 경우와는 다릅니다. 구문 정의는 「구문」의 디렉토리의 개념을 의미합니다.

예를 들어, 값이 Java 의 String 객체여도, 그 디렉토리 구문은 「Printable String」또는 「Telephone Number」라고 됩니다. 혹은, 값이 바이트 배열의 경우는, 그 디렉토리 구문은 「JPEG」또는 「Certificate」라고 됩니다. 예를 들어, 속성의 구문이 「JPEG」의 경우는, 이 메소드는 「JPEG」의 구문 정의를 돌려줍니다.

구문 정의로부터 취득할 수 있는 정보는, 디렉토리에 의존하고 있습니다.

구현이 schema를 지원하지 않는 경우는, OperationNotSupportedException 가 throw 됩니다. 구현이 schema를 지원하는 경우는, 이 메소드가 정의되어 적절한 정보가 돌려주어집니다.

반환값:
속성의 구문 정의. 구현이 schema를 지원해도, 이 특정의 속성에 schema 정보가 포함되지 않은 경우는 null
예외:
OperationNotSupportedException - schema의 취득이 지원되어 있지 않은 경우
NamingException - schema의 취득중에 네이밍 예외가 발생했을 경우

getAttributeDefinition

DirContext  getAttributeDefinition()
                                  throws NamingException 
속성의 schema 정의를 꺼냅니다. 속성의 schema 정의에는, 속성의 값은 복수인가 또는 단일인가, 속성의 값을 비교할 경우에 사용하는 일치 규칙등의 정보가 포함됩니다. 속성 정의로부터 취득할 수 있는 정보는, 디렉토리에 의존하고 있습니다.

구현이 schema를 지원하지 않는 경우는, OperationNotSupportedException 가 throw 됩니다. 구현이 schema를 지원하는 경우는, 이 메소드가 정의되어 적절한 정보가 돌려주어집니다.

반환값:
이 속성의 schema 정의. 구현이 schema를 지원해도, 이 특정의 속성에 schema 정보가 포함되지 않은 경우는 null
예외:
OperationNotSupportedException - schema의 취득이 지원되어 있지 않은 경우
NamingException - schema의 취득중에 네이밍 예외가 발생했을 경우

clone

Object  clone()
속성의 카피를 작성합니다. 카피에는 원의 속성과 같은 속성치가 포함됩니다. 속성치 그 자체는 복제되지 않습니다. 카피로 변경을 더해도 원의 속성에는 영향 없습니다. 또 역의 경우도 같습니다.

반환값:
이 속성의 null 이외의 카피

isOrdered

boolean isOrdered()
속성치가 순서부등이라고 있을지 어떨지를 판별합니다. 속성치가 순서부등이라고 있는 경우는, 복제치가 허가됩니다. 속성치가 순서부등이라고 없는 경우는, 값은 임의의 순서로 표시되어 복제치는 없습니다.

반환값:
이 속성치가 순서 붙일 수 있고 있는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
get(int) , remove(int) , add(int, java.lang.Object) , set(int, java.lang.Object)

get

Object  get(int ix)
           throws NamingException 
속성치의 순서 붙일 수 있었던 리스트로부터 속성치를 꺼냅니다. 이 메소드는 속성치의 리스트의 ix 인덱스에 있는 값을 돌려줍니다. 속성치가 순서 붙일 수 있지 않은 경우, 이 메소드는 그 인덱스의 위치에 있는 값을 돌려줍니다.

파라미터:
ix - 속성치의 순서 붙일 수 있었던 리스트의 값의 인덱스. 0 <= ix < size()
반환값:
null 의 가능성이 있는, 인덱스 ix 에 있는 속성치 속성치가 null 의 경우, null
예외:
NamingException - 치의 취득중에 네이밍 예외가 발견되었을 경우
IndexOutOfBoundsException - ix 가 지정된 범위외에 있는 경우

remove

Object  remove(int ix)
속성치의 순서 붙일 수 있었던 리스트로부터 속성치를 삭제합니다. 이 메소드는 속성치의 리스트의 ix 인덱스에 있는 값을 삭제합니다. 속성치가 순서 붙일 수 있지 않은 경우는, 이 메소드는 그 인덱스에 있던 값을 삭제합니다. ix 보다 큰 인덱스에 있는 값은, 리스트의 전면 방향으로 위에 쉬프트 되어 그 인덱스는 1 개씩 줄여집니다.

파라미터:
ix - 삭제하는 값의 인덱스. 0 <= ix < size()
반환값:
null 의 가능성이 있는, 삭제된 인덱스 ix 에 있는 속성치 속성치가 null 의 경우, null
예외:
IndexOutOfBoundsException - ix 가 지정된 범위외에 있는 경우

add

void add(int ix,
         Object  attrVal)
속성치를 속성치의 순서 붙일 수 있었던 리스트에 추가합니다. 이 메소드는 인덱스 ix 에 있는 속성치의 리스트에 attrVal 를 추가합니다. ix 이상의 인덱스에 있는 값은, 리스트의 말미 방향으로 아래에 쉬프트 되어 그 인덱스는 1 개씩 늘려집니다. 속성치가 순서 붙일 수 있지 않고 attrVal 가 벌써 존재하는 경우는,IllegalStateException 이 throw 됩니다.

파라미터:
ix - 새로운 값을 추가하는 속성치의 순서 붙일 수 있었던 리스트의 인덱스. 0 <= ix <= size()
attrVal - null 의 가능성이 있는, 추가하는 속성의 값. null 의 경우, null 가 값으로 해서 추가된다
예외:
IndexOutOfBoundsException - ix 가 지정된 범위외에 있는 경우
IllegalStateException - 속성치가 순서 붙일 수 있지 않고,attrVal 가 값의 1 개인 경우

set

Object  set(int ix,
           Object  attrVal)
속성치의 순서 붙일 수 있었던 리스트의 속성치를 설정합니다. 이 메소드는 속성치의 리스트의 ix 인덱스에 있는 값이 attrVal 가 되도록(듯이) 설정합니다. 낡은 값은 삭제됩니다. 이 속성치가 순서 붙일 수 있지 않은 경우는,attrVal 가 값의 1 개가 아닌 경우에 한정해, 이 메소드는 그 인덱스에 있던 값을 attrVal 로 설정합니다. attrVal 가 벌써 존재하는 경우는,IllegalStateException 가 throw 됩니다.

파라미터:
ix - 속성치의 순서 붙일 수 있었던 리스트의 값의 인덱스. 0 <= ix < size()
attrVal - null 의 가능성이 있는, 사용하는 속성치. null 의 경우, 낡은 값이 null 에 변환된다
반환값:
null 의 가능성이 있는, 치환된 인덱스 ix 에 있는 속성치. 속성치가 null 의 경우는 null
예외:
IndexOutOfBoundsException - ix 가 지정된 범위외에 있는 경우
IllegalStateException - attrVal 가 벌써 존재해, 속성치가 순서 붙일 수 있지 않은 경우

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