JavaTM Platform
Standard Ed. 6

javax.naming.directory
클래스 BasicAttribute

java.lang.Object 
  상위를 확장 javax.naming.directory.BasicAttribute
모든 구현된 인터페이스:
Serializable , Cloneable , Attribute


public class BasicAttribute
extends Object
implements Attribute

이 클래스는,Attribute 인터페이스의 기본적인 구현을 제공합니다.

이 구현은 schema 메소드 getAttributeDefinition()getAttributeSyntaxDefinition() 를 지원하지 않습니다. 이러한 메소드는 다만 OperationNotSupportedException 를 throw 합니다. BasicAttribute 의 서브 클래스가 이러한 메소드를 지원하고 있는 경우,BasicAttribute 가 이러한 메소드를 오버라이드(override) 합니다.

BasicAttribute 클래스는, 디폴트에서는,Object.equals() 를 사용해 동일성의 테스트시나 값의 검색시의 속성치의 동일성을 판정합니다만, 값이 배열인 경우는 「예외」입니다. 배열의 경우,Object.equals() 를 사용해 배열의 각 요소가 확인됩니다. schema의 이러한 사용법이 유효한 메소드를 오버라이드(override) 하는 것에 의해 같은 동일성 체크를 실시하는 경우,BasicAttribute 의 서브 클래스가 schema 정보를 이용할 수 있습니다. 같이BasicAttribute 클래스는 디폴트에서는, 생성자 에게 건네진 값 또는 추가 삭제 메소드를 사용해 처리된 값, 혹은 그 양쪽 모두를 돌려줍니다. BasicAttribute 의 서브 클래스는,get()getAll() 를 오버라이드(override) 해 디렉토리로부터 직접치를 취득할 수 있습니다 (또는 BasicAttribute 를 서브 클래스화하는 대신에 Attribute 인터페이스를 직접 구현한다).

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

BasicAttribute 인스턴스는, 병행 multi-thread 액세스에 대해서는 동기화 되지 않습니다. BasicAttribute 로 액세스 및 변경하려고 하는 복수의 thread에 의해, 객체는 락 됩니다.

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

필드의 개요
protected  String attrID
          속성의 ID 를 보관 유지합니다.
protected  boolean ordered
          이 속성의 값이 순서 붙이고 될지 어떨지를 기록하는 플래그입니다.
protected  Vector <Object > values
          속성의 값을 보관 유지합니다.
 
생성자 의 개요
BasicAttribute (String  id)
          순서 붙이고되어 있지 않은 속성의 인스턴스를 값없이 새롭게 구축합니다.
BasicAttribute (String  id, boolean ordered)
          순서 붙이고 될 가능성이 있는 속성의 인스턴스를 값없이 새롭게 구축합니다.
BasicAttribute (String  id, Object  value)
          순서 붙이고되어 있지 않은 속성의 인스턴스를 단일의 값으로 새롭게 구축합니다.
BasicAttribute (String  id, Object  value, boolean ordered)
          순서 붙이고 될 가능성이 있는 속성의 인스턴스를 단일의 값으로 새롭게 구축합니다.
 
메소드의 개요
 void add (int ix, Object  attrVal)
          속성치를 속성치의 순서 붙일 수 있었던 리스트에 추가합니다.
 boolean add (Object  attrVal)
          이 속성에 새로운 값을 추가합니다.
 void clear ()
          이 속성으로부터 모든 값을 삭제합니다.
 Object clone ()
          이 객체의 카피를 작성해, 돌려줍니다.
 boolean contains (Object  attrVal)
          값이 이 속성에 있을지 어떨지를 판정합니다.
 boolean equals (Object  obj)
          obj 가 이 속성과 동일한가 어떤가를 판별합니다.
 Object get ()
          이 속성의 값의 1 개를 검출합니다.
 Object get (int ix)
          속성치의 순서 붙일 수 있었던 리스트로부터 속성치를 꺼냅니다.
 NamingEnumeration <? > getAll ()
          이 속성의 값의 열거를 검출합니다.
 DirContext getAttributeDefinition ()
          이 속성의 schema 정의를 검출합니다.
 DirContext getAttributeSyntaxDefinition ()
          이 속성에 관련지을 수 있었던 구문의 정의를 검색합니다.
 String getID ()
          이 속성의 ID 를 꺼냅니다.
 int hashCode ()
          이 속성의 해시 코드를 계산합니다.
 boolean isOrdered ()
          속성치가 순서부등이라고 있을지 어떨지를 판별합니다.
 Object remove (int ix)
          속성치의 순서 붙일 수 있었던 리스트로부터 속성치를 삭제합니다.
 boolean remove (Object  attrval)
          지정된 값을 이 속성으로부터 삭제합니다.
 Object set (int ix, Object  attrVal)
          속성치의 순서 붙일 수 있었던 리스트의 속성치를 설정합니다.
 int size ()
          이 속성의 치수를 꺼냅니다.
 String toString ()
          이 속성의 캐릭터 라인 표기를 생성합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
finalize , getClass , notify , notifyAll , wait , wait , wait
 

필드의 상세

attrID

protected String  attrID
속성의 ID 를 보관 유지합니다. ID 는 public 생성자 에 의해 초기화되어 attrID 를 사용하고 있는 BasicAttribute 의 메소드가 오버라이드(override)되어 있지 않은 한, null 로 할 수 없습니다.


values

protected transient Vector <Object > values
속성의 값을 보관 유지합니다. public 생성자 에 의해 초기화됩니다. 값을 사용하는 BasicAttribute 의 메소드가 오버라이드(override)되어 있지 않은 한, null 로 할 수 없습니다.


ordered

protected boolean ordered
이 속성의 값이 순서 붙이고 될지 어떨지를 기록하는 플래그입니다.

생성자 의 상세

BasicAttribute

public BasicAttribute(String  id)
순서 붙이고되어 있지 않은 속성의 인스턴스를 값없이 새롭게 구축합니다.

파라미터:
id - 속성의 ID. null 는 불가

BasicAttribute

public BasicAttribute(String  id,
                      Object  value)
순서 붙이고되어 있지 않은 속성의 인스턴스를 단일의 값으로 새롭게 구축합니다.

파라미터:
id - 속성의 ID. null 는 불가
value - 속성의 값null 의 경우, null 치가 속성에 추가된다

BasicAttribute

public BasicAttribute(String  id,
                      boolean ordered)
순서 붙이고 될 가능성이 있는 속성의 인스턴스를 값없이 새롭게 구축합니다.

파라미터:
id - 속성의 ID. null 는 불가
ordered - 속성치가 순서 붙이고 되는 경우는 true, 그렇지 않은 경우는 false

BasicAttribute

public BasicAttribute(String  id,
                      Object  value,
                      boolean ordered)
순서 붙이고 될 가능성이 있는 속성의 인스턴스를 단일의 값으로 새롭게 구축합니다.

파라미터:
id - 속성의 ID. null 는 불가
value - 속성의 값null 의 경우, null 치가 속성에 추가되는
ordered - 속성치가 순서 붙이고 되는 경우는 true, 그렇지 않은 경우는 false
메소드의 상세

clone

public Object  clone()
클래스 Object 의 기술:
이 객체의 카피를 작성해, 돌려줍니다. 「카피」의 정확한 이유는, 객체의 클래스에 의해 다릅니다. 일반적으로는, 임의의 객체 x 에 대해, 다음의 식
 x.clone() ! = x
하지만 true 이며, 다음의 식
 x.clone(). getClass() == x.getClass()
true 인 것입니다만, 이것들도 절대적인 요건이 아닙니다. 또 다음의 식
 x.clone(). equals(x)
도 일반적으로 true 가 됩니다만, 이것도 절대적인 요건이 아닙니다.  

일반적으로,super.clone 를 호출하는 것으로 반환되는 객체를 취득할 수 있습니다. 클래스 및 그 슈퍼 클래스 모든 것 (Object 를 제외한다)이 이 규칙에 따르는 경우,x.clone(). getClass() == x.getClass() 가 성립합니다.  

일반적으로, 이 메소드에 의해 반환되는 객체는, 이 객체 (복제되고 있다)로부터 독립하고 있을 필요가 있습니다. 이 독립성을 달성하기 위해(때문에),super.clone 가 돌려주는 객체의 필드를 1 개 이상 (객체가 돌려주기 전에) 변경하는 것이 필요하게 되는 경우가 있습니다. 이것은, 일반적으로, 복제하는 객체의 내부 「심층 구조」를 구성하는 가변 객체의 카피, 및 이러한 객체에의 참조를 카피에의 참조에 옮겨놓는 것을 의미합니다. 클래스에 프리미티브(primitive) 필드 또는 불변 객체에의 참조만이 포함되는 경우, 일반적으로,super.clone 에 의해 반환되는 객체내의 필드를 변경할 필요는 없습니다.  

Object 클래스의 clone 메소드는, 특정의 복제 처리를 실행합니다. 우선, 이 객체의 클래스가 Cloneable 인터페이스를 구현하고 있지 않는 경우는,CloneNotSupportedException 가 throw 됩니다. 배열은 모두, 인터페이스 Cloneable 를 구현하고 있는 것이라고 보여지는 것에 주의해 주세요. 구현하고 있지 않는 경우, 이 메소드는 이 객체의 클래스의 새로운 인스턴스를 생성해, 그 필드를 모두, 이 객체의 대응하는 각 필드의 내용으로 초기화합니다. 이것은 대입과 같아, 필드의 내용 자신이 복제되는 것은 아닙니다. 즉 이 메소드는, 객체의 「shallow 복사」를 생성합니다만, 「딥 카피」는 생성하지 않습니다.  

Object 클래스 자체는,Cloneable 인터페이스를 구현하지 않기 때문에, 클래스가 Objectclone 메소드를 호출하면(자), 실행시에 예외가 throw 됩니다.

정의:
인터페이스 Attribute 내의 clone
오버라이드(override):
클래스 Object 내의 clone
반환값:
이 인스턴스의 복제
관련 항목:
Cloneable

equals

public boolean equals(Object  obj)
obj 가 이 속성과 동일한가 어떤가를 판별합니다. 2 개의 속성의 속성 ID, 구문, 및 값이 동일한 경우, 2 개의 속성은 동일합니다. 2 개의 속성의 값이 순서 붙이고되어 있지 않은 경우, 값이 추가된 순서는 관계 없습니다. 속성치가 순서 붙이고 되고 있는 경우, 값의 순서는 일치할 필요가 있습니다. obj 가 null 인지, 또는 Attribute 가 아닌 경우, false 가 돌려주어집니다.

디폴트에서는, 값이 배열인 경우를 제외해,Object.equals() 를 사용해 속성 ID 및 속성의 값을 비교합니다. 배열의 경우,Object.equals() 를 사용해 배열의 각 요소가 확인됩니다. 서브 클래스는 Object.equals() 를 오버라이드(override) 해, schema 구문 정보, 및 2 개의 속성에 있어 동일이 무엇을 의미하는지를 정의하는 일치 규칙을 사용할 수 있습니다. 서브 클래스가 schema 정보를 사용할지 어떨지, 또 어떻게 사용할까는, 서브 클래스가 결정됩니다. 서브 클래스가 equals() 를 오버라이드(override) 했을 경우, 서브 클래스는 hashCode() 도 오버라이드(override) 해, 동일한 2 개의 속성이 같은 해시 코드를 가지도록(듯이) 합니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - null 의 가능성이 있는 체크 대상 객체
반환값:
obj 가 이 속성과 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
hashCode() , contains(java.lang.Object)

hashCode

public int hashCode()
이 속성의 해시 코드를 계산합니다.

해시 코드는, 속성의 ID 의 해시 코드, 및 값이 배열인 경우를 제외한 속성의 값 모든 해시 코드를 가산하는 것에 의해 계산됩니다. 배열의 경우는, 배열의 각 요소의 해시 코드가 합계됩니다. 서브 클래스가 hashCode() 를 오버라이드(override) 했을 경우, 서브 클래스는 equals() 도 똑같이 오버라이드(override) 해, 동일한 2 개의 속성이 같은 해시 코드를 가지도록(듯이) 합니다.

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

toString

public String  toString()
이 속성의 캐릭터 라인 표기를 생성합니다. 캐릭터 라인은 속성의 ID 및 속성의 값으로부터 구성됩니다. 이 캐릭터 라인은 디버그용으로 사용됩니다만, 프로그램에 의해 해석될 것은 없습니다.

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

getAll

public NamingEnumeration <? > getAll()
                            throws NamingException 
이 속성의 값의 열거를 검출합니다.

디폴트에서는, 반환값은, 생성자 에게 건네진 값, 또는 추가 치환 삭제 메소드를 사용해 처리된 값, 혹은 그 양쪽 모두입니다. 서브 클래스는 이 값을 오버라이드(override) 해, 디렉토리로부터 직접치를 검출할 수 있습니다.

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

get

public Object  get()
           throws NamingException 
이 속성의 값의 1 개를 검출합니다.

디폴트에서는, 반환값은, 생성자 에게 건네진 값, 또는 추가 치환 삭제 메소드를 사용해 처리된 값, 혹은 그 양쪽 모두 가운데 1 개입니다. 서브 클래스는 이 값을 오버라이드(override) 해, 디렉토리로부터 직접치를 검출할 수 있습니다.

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

size

public int size()
인터페이스 Attribute 의 기술:
이 속성의 치수를 꺼냅니다.

정의:
인터페이스 Attribute 내의 size
반환값:
이 속성의 부가 아닌 치수

getID

public String  getID()
인터페이스 Attribute 의 기술:
이 속성의 ID 를 꺼냅니다.

정의:
인터페이스 Attribute 내의 getID
반환값:
이 속성의 ID. null 는 불가

contains

public boolean contains(Object  attrVal)
값이 이 속성에 있을지 어떨지를 판정합니다.

디폴트에서는,Object.equals() 는,attrVal 가 배열인 경우를 제외해 attrVal 를 이 속성치와 비교할 때에 사용됩니다. 배열의 경우,Object.equals() 를 사용해 배열의 각 요소가 확인됩니다. 서브 클래스가 schema 정보를 사용해 동일성을 판정하는 경우가 있습니다.

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

add

public boolean add(Object  attrVal)
이 속성에 새로운 값을 추가합니다.

디폴트에서는,Object.equals() 는,attrVal 가 배열인 경우를 제외해 attrVal 를 이 속성치와 비교할 때에 사용됩니다. 배열의 경우,Object.equals() 를 사용해 배열의 각 요소가 확인됩니다. 서브 클래스가 schema 정보를 사용해 동일성을 판정하는 경우가 있습니다.

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

remove

public boolean remove(Object  attrval)
지정된 값을 이 속성으로부터 삭제합니다.

디폴트에서는,Object.equals() 는,attrVal 가 배열인 경우를 제외해 attrVal 를 이 속성치와 비교할 때에 사용됩니다. 배열의 경우,Object.equals() 를 사용해 배열의 각 요소가 확인됩니다. 서브 클래스가 schema 정보를 사용해 동일성을 판정하는 경우가 있습니다.

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

clear

public void clear()
인터페이스 Attribute 의 기술:
이 속성으로부터 모든 값을 삭제합니다.

정의:
인터페이스 Attribute 내의 clear

isOrdered

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

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

get

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

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

remove

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

정의:
인터페이스 Attribute 내의 remove
파라미터:
ix - 삭제하는 값의 인덱스. 0 <= ix < size()
반환값:
null 의 가능성이 있는, 삭제된 인덱스 ix 에 있는 속성치 속성치가 null 의 경우, null

add

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

정의:
인터페이스 Attribute 내의 add
파라미터:
ix - 새로운 값을 추가하는 속성치의 순서 붙일 수 있었던 리스트의 인덱스. 0 <= ix <= size()
attrVal - null 의 가능성이 있는, 추가하는 속성의 값. null 의 경우, null 가 값으로 해서 추가된다

set

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

정의:
인터페이스 Attribute 내의 set
파라미터:
ix - 속성치의 순서 붙일 수 있었던 리스트의 값의 인덱스. 0 <= ix < size()
attrVal - null 의 가능성이 있는, 사용하는 속성치. null 의 경우, 낡은 값이 null 에 변환된다
반환값:
null 의 가능성이 있는, 치환된 인덱스 ix 에 있는 속성치. 속성치가 null 의 경우는 null

getAttributeSyntaxDefinition

public DirContext  getAttributeSyntaxDefinition()
                                        throws NamingException 
이 속성에 관련지을 수 있었던 구문의 정의를 검색합니다.

이 메소드는 디폴트에서는 OperationNotSupportedException 를 throw 합니다. 서브 클래스가 schema를 지원하는 경우, 서브 클래스가 이 메소드를 오버라이드(override) 합니다.

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

getAttributeDefinition

public DirContext  getAttributeDefinition()
                                  throws NamingException 
이 속성의 schema 정의를 검출합니다.

이 메소드는 디폴트에서는 OperationNotSupportedException 를 throw 합니다. 서브 클래스가 schema를 지원하는 경우, 서브 클래스가 이 메소드를 오버라이드(override) 합니다.

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

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