JavaTM 2 Platform
Std. Ed. v1.3

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

public static final long serialVersionUID
相互運用性のために、JNDI 1.1.1 の serialVersionUID を使用します。
メソッドの詳細

getAll

public NamingEnumeration getAll()
                         throws NamingException
属性値の列挙を取り出します。この列挙の動作は、列挙の進行中に属性の値を追加、変更、または削除する場合は保証されません。属性値が順序付けられている場合は、列挙の項目も順序付けられます。
戻り値:
属性値の null 以外の列挙。列挙の各要素は null オブジェクトの可能性がある。オブジェクトのクラスは属性値のクラスである。属性値が null の場合は要素は null になる。属性にゼロ値が含まれる場合は空の列挙が返される
例外:
NamingException - 値を取り込み中にネーミング例外が発生した場合
関連項目:
isOrdered()

get

public Object get()
           throws NamingException
この属性値の 1 つを取り出します。属性値が複数で、順序付けられていない場合は、それらの値のどれか 1 つが返されます。属性値が複数で順序付けられている場合は、最初の値が返されます。
戻り値:
null の可能性がある、属性値の 1 つを表すオブジェクト。属性値が null の場合は null
例外:
NamingException - 値を取り込み中にネーミング例外が発生した場合
NoSuchElementException - この属性に値がない場合

size

public int size()
この属性の値数を取り出します。
戻り値:
この属性の負でない値数

getID

public String getID()
この属性の ID を取り出します。
戻り値:
この属性の ID。null は不可

contains

public 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

public boolean add(Object attrVal)
属性に新しい値を追加します。属性値が順序付けられておらず、attrVal が属性内に存在する場合は、このメソッドは機能しません。属性値が順序付けられている場合は、attrVal は属性値のリストの末尾に追加されます。

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

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

remove

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

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

パラメータ:
attrval - null の可能性がある、この属性から削除する値。null の場合、null の属性値が削除される
戻り値:
値が削除された場合は true、そうでない場合は false

clear

public void clear()
この属性からすべての値を削除します。

getAttributeSyntaxDefinition

public DirContext getAttributeSyntaxDefinition()
                                        throws NamingException
属性に関連付けられた構文定義を取り出します。属性の構文定義では、1 つ以上の属性値の形式を指定します。これは、Java オブジェクトとして属性値を表現する場合とは異なります。構文定義は構文のディレクトリの概念を意味します。

たとえば、値が Java の String オブジェクトであっても、そのディレクトリ構文は「Printable String」または「Telephone Number」となります。あるいは、値がバイト配列の場合は、そのディレクトリ構文は「JPEG」または「Certificate」となります。たとえば、属性の構文が「JPEG」の場合は、このメソッドは「JPEG」の構文定義を返します。

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

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

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

getAttributeDefinition

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

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

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

clone

public Object clone()
属性のコピーを作成します。コピーには元の属性と同じ属性値が含まれます。属性値そのものは複製されません。コピーに変更を加えても元の属性には影響ありません。また逆の場合も同じです。
オーバーライド:
クラス Object 内の clone
戻り値:
この属性の null 以外のコピー

isOrdered

public boolean isOrdered()
属性値が順序付けらているかどうかを判別します。属性値が順序付けらている場合は、複製値が許可されます。属性値が順序付けらていない場合は、値は任意の順序で表示され、複製値はありません。
戻り値:
この属性値が順序付けられている場合は true、そうでない場合は false
関連項目:
get(int), remove(int), add(int, java.lang.Object), set(int, java.lang.Object)

get

public Object get(int ix)
           throws NamingException
属性値の順序付けられたリストから属性値を取り出します。このメソッドは属性値のリストの ix インデックスにある値を返します。属性値が順序付けられていない場合、このメソッドはそのインデックスの位置にある値を返します。
パラメータ:
ix - 属性値の順序付けられたリストの値のインデックス。0 <= ix < size()
戻り値:
null の可能性がある、インデックス ix にある属性値。属性値が null の場合は null
例外:
NamingException - 値の取得中にネーミング例外が発生した場合
IndexOutOfBoundsException - ix が指定された範囲外にある場合

remove

public Object remove(int ix)
属性値の順序付けられたリストから属性値を削除します。このメソッドは属性値のリストの ix インデックスにある値を削除します。属性値が順序付けられていない場合は、このメソッドはそのインデックスにあった値を削除します。ix より大きいインデックスにある値は、リストの前面方向に上へシフトされ、そのインデックスは 1 つずつ減らされます。
パラメータ:
ix - 削除する値のインデックス。0 <= ix < size()
戻り値:
null の可能性がある、削除したインデックス ix にある属性値。属性値が null の場合は null
例外:
IndexOutOfBoundsException - ix が指定された範囲外にある場合

add

public 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

public 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
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.