JavaTM 2 Platform
Standard Ed. 5.0

javax.naming.directory
クラス BasicAttribute

java.lang.Object
  上位を拡張 javax.naming.directory.BasicAttribute
すべての実装されたインタフェース:
Serializable, Cloneable, Attribute

public class BasicAttribute
extends Object
implements Attribute

このクラスは、Attribute インタフェースの基本的な実装を提供します。

この実装はスキーマメソッド getAttributeDefinition() および getAttributeSyntaxDefinition() をサポートしません。これらのメソッドはただ OperationNotSupportedException をスローします。BasicAttribute のサブクラスがこれらのメソッドをサポートしている場合、BasicAttribute がこれらのメソッドをオーバーライドします。

BasicAttribute クラスは、デフォルトでは、Object.equals() を使用して同一性のテスト時や値の検索時の属性値の同一性を判定しますが、値が配列である場合は「例外」です。配列の場合、Object.equals() を使用して配列の各要素が確認されます。スキーマのこうした使用法が有効なメソッドをオーバーライドすることによって同様の同一性チェックを行う場合、BasicAttribute のサブクラスがスキーマ情報を利用できます。同様に、BasicAttribute クラスはデフォルトでは、コンストラクタに渡された値または追加削除メソッドを使って処理された値、あるいはその両方を返します。BasicAttribute のサブクラスは、get() および getAll() をオーバーライドしてディレクトリから直接値を取得できます (または BasicAttribute をサブクラス化する代わりに Attribute インタフェースを直接実装する)。

BasicAttribute の変更 (値の追加、削除など) は、該当するディレクトリの属性の表示には影響しません。ディレクトリの変更は、DirContext インタフェースの操作を使用した場合に限り、有効になります。

BasicAttribute インスタンスは、並行マルチスレッドアクセスに対しては同期化されません。BasicAttribute にアクセスおよび変更しようとする複数のスレッドによって、オブジェクトはロックされます。

導入されたバージョン:
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()
          この属性のスキーマ定義を検出します。
 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 のメソッドがオーバーライドされていない限り、null にできません。


values

protected transient Vector<Object> values
属性の値を保持します。public コンストラクタによって初期化されます。値を使用する BasicAttribute のメソッドがオーバーライドされていない限り、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 つ以上 (オブジェクトが返す前に) 変更することが必要になる場合があります。これは、通常、複製するオブジェクトの内部「深層構造」を構成する可変オブジェクトのコピー、およびこれらのオブジェクトへの参照をコピーへの参照に置き換えることを意味します。クラスにプリミティブフィールドまたは不変オブジェクトへの参照だけが含まれる場合、通常、super.clone により返されるオブジェクト内のフィールドを変更する必要はありません。

Object クラスの clone メソッドは、特定の複製処理を実行します。まず、このオブジェクトのクラスが Cloneable インタフェースを実装していない場合は、CloneNotSupportedException がスローされます。配列はすべて、インタフェース Cloneable を実装しているものと見なされることに注意してください。実装していない場合、このメソッドはこのオブジェクトのクラスの新しいインスタンスを生成し、そのフィールドをすべて、このオブジェクトの対応する各フィールドの内容で初期化します。これは代入と同様で、フィールドの内容自身が複製されるのではありません。つまりこのメソッドは、オブジェクトの「シャローコピー」を生成しますが、「ディープコピー」は生成しません。

クラス Object 自体は、Cloneable インタフェースを実装しないため、クラスが Object である clone メソッドを呼び出すと、実行時に例外がスローされます。

定義:
インタフェース Attribute 内の clone
オーバーライド:
クラス 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() をオーバーライドして、スキーマ構文情報、および 2 つの属性にとって同一が何を意味するかを定義する一致規則を使用できます。サブクラスがスキーマ情報を使用するかどうか、またどのように使用するかは、サブクラスが決定します。サブクラスが equals() をオーバーライドした場合、サブクラスは hashCode() もオーバーライドして、等しい 2 つの属性が同じハッシュコードを持つようにします。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - null の可能性があるチェック対象オブジェクト
戻り値:
obj がこの属性と等しい場合は true、そうでない場合は false
関連項目:
hashCode(), contains(java.lang.Object)

hashCode

public int hashCode()
この属性のハッシュコードを計算します。

ハッシュコードは、属性の ID のハッシュコード、および値が配列である場合を除く属性の値すべてのハッシュコードを加算することによって計算されます。配列の場合は、配列の各要素のハッシュコードが合計されます。サブクラスが hashCode() をオーバーライドした場合、サブクラスは equals() も同じようにオーバーライドして、等しい 2 つの属性が同じハッシュコードを持つようにします。

オーバーライド:
クラス Object 内の hashCode
戻り値:
この属性のハッシュコードを表す int
関連項目:
equals(java.lang.Object)

toString

public String toString()
この属性の文字列表記を生成します。文字列は属性の ID および属性の値から構成されます。この文字列はデバッグ用に使用されますが、プログラムによって解釈されることはありません。

オーバーライド:
クラス Object 内の toString
戻り値:
この属性の null 以外の文字列表現

getAll

public NamingEnumeration<?> getAll()
                            throws NamingException
この属性の値の列挙を検出します。

デフォルトでは、戻り値は、コンストラクタに渡された値、または追加置換削除メソッドを使用して処理された値、あるいはその両方です。サブクラスはこの値をオーバーライドして、ディレクトリから直接値を検出できます。

定義:
インタフェース Attribute 内の getAll
戻り値:
属性値の null 以外の列挙。列挙の各要素は null オブジェクトの可能性がある。オブジェクトのクラスは属性値のクラスである。属性値が null の場合は要素は null になる。属性にゼロ値が含まれる場合は空の列挙が返される
例外:
NamingException - 値を取り込み中にネーミング例外が発生した場合
関連項目:
Attribute.isOrdered()

get

public Object get()
           throws NamingException
この属性の値の 1 つを検出します。

デフォルトでは、戻り値は、コンストラクタに渡された値、または追加置換削除メソッドを使用して処理された値、あるいはその両方のうちの 1 つです。サブクラスはこの値をオーバーライドして、ディレクトリから直接値を検出できます。

定義:
インタフェース 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() を使って配列の各要素が確認されます。サブクラスがスキーマ情報を使用して同一性を判定する場合があります。

定義:
インタフェース 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() を使って配列の各要素が確認されます。サブクラスがスキーマ情報を使用して同一性を判定する場合があります。

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

remove

public boolean remove(Object attrval)
指定された値をこの属性から削除します。

デフォルトでは、Object.equals() は、attrVal が配列である場合を除いて attrVal をこの属性値と比較する際に使用されます。配列の場合、Object.equals() を使って配列の各要素が確認されます。サブクラスがスキーマ情報を使用して同一性を判定する場合があります。

定義:
インタフェース 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 がスローされます。

定義:
インタフェース 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 がスローされます。

定義:
インタフェース Attribute 内の set
パラメータ:
ix - 属性値の順序付けられたリストの値のインデックス。0 <= ix < size()
attrVal - null の可能性がある、使用する属性値。null の場合、古い値が null に変換される
戻り値:
null の可能性がある、置換されたインデックス ix にある属性値。属性値が null の場合は null

getAttributeSyntaxDefinition

public DirContext getAttributeSyntaxDefinition()
                                        throws NamingException
この属性に関連付けられた構文の定義を検索します。

このメソッドはデフォルトでは OperationNotSupportedException をスローします。サブクラスがスキーマをサポートする場合、サブクラスがこのメソッドをオーバーライドします。

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

getAttributeDefinition

public DirContext getAttributeDefinition()
                                  throws NamingException
この属性のスキーマ定義を検出します。

このメソッドはデフォルトでは OperationNotSupportedException をスローします。サブクラスがスキーマをサポートする場合、サブクラスがこのメソッドをオーバーライドします。

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

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 も参照してください。