JavaTM 2 Platform
Standard Ed. 5.0

javax.naming.directory
インタフェース Attribute

すべてのスーパーインタフェース:
Cloneable, Serializable
既知の実装クラスの一覧:
BasicAttribute

public interface Attribute
extends Cloneable, Serializable

このインタフェースは指定したオブジェクトに関連付けられた属性を表します。

ディレクトリでは、指定されたオブジェクトはその属性と関連付けることができます。Attribute インタフェースは、指定されたオブジェクトと関連付けられた属性を表します。属性には 0 以上の値が含まれ、値は null の場合もあります。属性値は順序付けても順序付けなくてもかまいません (「isOrdered()」を参照)。値が順序付けられていない場合は、複製は許可されません。値が順序付けられている場合は、複製は許可されます。

属性およびその値の内容と表現は、その属性の「スキーマ」で定義されます。スキーマには、属性の構文およびその属性に関するその他のプロパティについての情報が含まれています。基本となるディレクトリサービスがスキーマをサポートする場合の、属性に関するスキーマ情報の取得方法の詳細は、「getAttributeDefinition()」および「getAttributeSyntaxDefinition()」を参照してください。

2 つの属性が等しいかどうかは実装クラスによって判別されます。簡単な実装では Object.equals() を使用して属性値が等しいかどうか判別できますが、より高度な実装ではスキーマ情報を利用します。同様に、ある実装ではコンストラクタに渡された値を返すだけの静的記憶構造を提供し、別の実装では、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()
          属性のスキーマ定義を取り出します。
 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 になる。属性にゼロ値が含まれる場合は空の列挙が返される
例外:
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() またはスキーマ情報を使用して等しいかどうかを判別できます。

パラメータ:
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() またはスキーマ情報を使用して等しいかどうかを判別できます。

パラメータ:
attrVal - null の可能性がある、追加する新しい値。null の場合、null が属性値として追加される
戻り値:
値が追加された場合は true、そうでない場合は false

remove

boolean remove(Object attrval)
指定された値を属性から削除します。attrval が属性内に存在しない場合は、このメソッドは機能しません。属性値が順序付けられている場合は、最初に発生する attrVal が削除されて、削除された値より大きいインデックスにある属性値はリストの先頭方向に上へシフトされ、インデックスは 1 つずつ減らされます。

等しいかどうかは実装で判別されます。実装では Object.equals() またはスキーマ情報を使用して等しいかどうかを判別できます。

パラメータ:
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」の構文定義を返します。

構文定義から取得できる情報は、ディレクトリに依存しています。

実装がスキーマをサポートしない場合は、OperationNotSupportedException がスローされます。実装がスキーマをサポートする場合は、このメソッドが定義されて適切な情報が返されます。

戻り値:
属性の構文定義。実装がスキーマをサポートしても、この特定の属性にスキーマ情報が含まれていない場合は null
例外:
OperationNotSupportedException - スキーマの取得がサポートされていない場合
NamingException - スキーマの取得中にネーミング例外が発生した場合

getAttributeDefinition

DirContext getAttributeDefinition()
                                  throws NamingException
属性のスキーマ定義を取り出します。属性のスキーマ定義には、属性の値は複数かまたは単一か、属性の値を比較するときに使用する一致規則などの情報が含まれます。 属性定義から取得できる情報は、ディレクトリに依存しています。

実装がスキーマをサポートしない場合は、OperationNotSupportedException がスローされます。実装がスキーマをサポートする場合は、このメソッドが定義されて適切な情報が返されます。

戻り値:
この属性のスキーマ定義。実装がスキーマをサポートしても、この特定の属性にスキーマ情報が含まれていない場合は null
例外:
OperationNotSupportedException - スキーマの取得がサポートされていない場合
NamingException - スキーマの取得中にネーミング例外が発生した場合

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 がスローされます。

パラメータ:
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 がスローされます。

パラメータ:
ix - 属性値の順序付けられたリストの値のインデックス。0 <= ix < size()
attrVal - null の可能性がある、使用する属性値。null の場合、古い値が null に変換される
戻り値:
null の可能性がある、置換されたインデックス ix にある属性値。属性値が null の場合は null
例外:
IndexOutOfBoundsException - ix が指定された範囲外にある場合
IllegalStateException - attrVal がすでに存在し、属性値が順序付けられていない場合

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。