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, 2014, Oracle and/or its affiliates. All rights reserved.