public interface Attribute extends Cloneable, Serializable
ディレクトリでは、指定されたオブジェクトはそれらの属性と関連付けることができます。Attribute インタフェースは、指定されたオブジェクトと関連付けられている属性を表します。属性には 0 以上の値が含まれ、値は null の場合もあります。属性値は順序付けても順序付けなくてもかまいません (「isOrdered()」を参照)。値を順序付けていない場合は、複製は許可されません。値を順序付けた場合は、複製が許可されます。
属性およびその値の内容と表現は、その属性のスキーマで定義されます。スキーマには、属性の構文およびその属性に関するその他のプロパティーについての情報が含まれています。ベースとなるディレクトリサービスがスキーマをサポートする場合の、属性に関するスキーマ情報の取得方法の詳細は、getAttributeDefinition() および getAttributeSyntaxDefinition() を参照してください。
2 つの属性が等しいかどうかは実装クラスによって判別されます。簡単な実装では Object.equals() を使用して属性値が等しいかどうか判別できますが、より高度な実装ではスキーマ情報を利用します。同様に、ある実装ではコンストラクタに渡された値を返すだけの静的ストレージ構造を提供し、別の実装では、get() および getAll() を定義してディレクトリから動的に値を取得します。
Attribute の変更 (値の追加や削除など) は、該当するディレクトリの属性の表示には影響しません。ディレクトリへの更新は、DirContext インタフェース内の操作を使用してのみ有効にできます。
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()
属性のスキーマ定義を取り出します。
|
DirContext |
getAttributeSyntaxDefinition()
属性に関連付けられている構文定義を取り出します。
|
String |
getID()
この属性の ID を取り出します。
|
boolean |
isOrdered()
属性値が順序付けられているかどうかを判別します。
|
Object |
remove(int ix)
属性値の順序付けられたリストから属性値を削除します。
|
boolean |
remove(Object attrval)
指定された値を属性から削除します。
|
Object |
set(int ix, Object attrVal)
属性値の順序付けられたリストの属性値を設定します。
|
int |
size()
この属性の値数を取り出します。
|
static final long serialVersionUID
NamingEnumeration<?> getAll() throws NamingException
NamingException
- 値の取得中にネーミング例外が検出された場合。isOrdered()
Object get() throws NamingException
NamingException
- 値の取得中にネーミング例外が検出された場合。NoSuchElementException
- この属性に値がない場合。int size()
String getID()
boolean contains(Object attrVal)
attrVal
- チェックする null の可能性がある値。null の場合、属性が null 値の属性値を持つかどうかを判定する。Object.equals(java.lang.Object)
, BasicAttribute.equals(java.lang.Object)
boolean add(Object attrVal)
等しいかどうかは、実装によって判定されます。この実装では、Object.equals() またはスキーマ情報を使用して、等しいかどうかを判定できます。
attrVal
- 追加する新しい null の可能性がある値。null の場合は、null が属性値として追加されます。boolean remove(Object attrval)
等しいかどうかは、実装によって判定されます。この実装では、Object.equals() またはスキーマ情報を使用して、等しいかどうかを判定できます。
attrval
- この属性から削除する null の可能性がある値。null の場合、null の属性値が削除される。void clear()
DirContext getAttributeSyntaxDefinition() throws NamingException
たとえば、値が Java の String オブジェクトであっても、そのディレクトリ構文は「Printable String」または「Telephone Number」となります。あるいは、値がバイト配列の場合は、そのディレクトリ構文は「JPEG」または「Certificate」となります。たとえば、属性の構文が「JPEG」の場合は、このメソッドは「JPEG」の構文定義を返します。
構文定義から取得できる情報は、ディレクトリに依存しています。
実装がスキーマをサポートしない場合は、OperationNotSupportedException がスローされます。実装がスキーマをサポートする場合は、このメソッドが定義されて適切な情報が返されます。
OperationNotSupportedException
- スキーマの取得がサポートされていない場合。NamingException
- スキーマの取得中にネーミング例外が発生した場合。DirContext getAttributeDefinition() throws NamingException
実装がスキーマをサポートしない場合は、OperationNotSupportedException がスローされます。実装がスキーマをサポートする場合は、このメソッドが定義されて適切な情報が返されます。
OperationNotSupportedException
- スキーマの取得がサポートされていない場合。NamingException
- スキーマの取得中にネーミング例外が発生した場合。Object clone()
boolean isOrdered()
get(int)
, remove(int)
, add(int, java.lang.Object)
, set(int, java.lang.Object)
Object get(int ix) throws NamingException
ix
- 属性値の順序付けられたリスト内の値のインデックス。0 <= ix < size()。NamingException
- 値の取得中にネーミング例外が検出された場合。IndexOutOfBoundsException
- ix が指定された範囲にない場合。Object remove(int ix)
ix
- 削除する値のインデックス。0 <= ix < size()。IndexOutOfBoundsException
- ix が指定された範囲にない場合。void add(int ix, Object attrVal)
ix
- 新しい値を追加する属性値の順序付けられたリスト内のインデックス。0 <= ix <= size()。attrVal
- 追加する null の可能性がある属性値。null の場合は、null が値として追加される。IndexOutOfBoundsException
- ix が指定された範囲にない場合。IllegalStateException
- 属性値が順序付けられておらず、attrVal が値の 1 つである場合。Object set(int ix, Object attrVal)
ix
- 属性値の順序付けられたリスト内の値のインデックス。0 <= ix < size()。attrVal
- 使用する null の可能性がある属性値。null の場合、古い値が null に変換される。IndexOutOfBoundsException
- ix が指定された範囲にない場合。IllegalStateException
- attrVal がすでに存在し、属性値が順序付けられていない場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.