- 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
- 関連項目:
- 直列化された形式
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 BasicAttribute(String id)順序付けされていない属性のインスタンスを値なしで新しく構築します。BasicAttribute(String id, boolean ordered)順序付けされる可能性のある属性のインスタンスを値なしで新しく構築します。BasicAttribute(String id, Object value)順序付けされていない属性のインスタンスを単一の値で新しく構築します。BasicAttribute(String id, Object value, boolean ordered)順序付けされる可能性のある属性のインスタンスを単一の値で新しく構築します。
 - 
メソッドのサマリーすべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidadd(int ix, Object attrVal)属性値を属性値の順序付けられたリストに追加します。booleanadd(Object attrVal)この属性に新しい値を追加します。voidclear()この属性からすべての値を削除します。Objectclone()このオブジェクトのコピーを作成して、返します。booleancontains(Object attrVal)値がこの属性にあるかどうかを判定します。booleanequals(Object obj)objがこの属性と同一かどうかを判別します。Objectget()この属性の値の1つを検出します。Objectget(int ix)属性値の順序付けられたリストから属性値を取り出します。NamingEnumeration<?>getAll()この属性の値の列挙を取り出します。DirContextgetAttributeDefinition()この属性のスキーマ定義を取り出します。DirContextgetAttributeSyntaxDefinition()この属性に関連付けられている構文の定義を検索します。StringgetID()この属性のIDを取り出します。inthashCode()この属性のハッシュ・コードを計算します。booleanisOrdered()属性値が順序付けられているかどうかを判別します。Objectremove(int ix)属性値の順序付けられたリストから属性値を削除します。booleanremove(Object attrval)指定された値をこの属性から削除します。Objectset(int ix, Object attrVal)属性値の順序付けられたリストの属性値を設定します。intsize()この属性の値数を取り出します。StringtoString()この属性の文字列表記を生成します。
 
- 
- 
- 
フィールドの詳細- 
attrIDprotected String attrID 属性のIDを保持します。 IDはpublicコンストラクタによって初期化され、attrIDを使用しているBasicAttributeのメソッドがオーバーライドされていない限り、nullにできません。
 - 
valuesprotected transient Vector<Object> values 属性の値を保持します。 publicコンストラクタによって初期化されます。 値を使用するBasicAttributeのメソッドがオーバーライドされていない限り、nullにできません。
 - 
orderedprotected boolean ordered この属性の値が順序付けされるかどうかを記録するフラグです。
 
- 
 - 
コンストラクタの詳細- 
BasicAttributepublic BasicAttribute(String id) 順序付けされていない属性のインスタンスを値なしで新しく構築します。- パラメータ:
- id- 属性のID。 nullは不可。
 
 - 
BasicAttributepublic BasicAttribute(String id, Object value) 順序付けされていない属性のインスタンスを単一の値で新しく構築します。- パラメータ:
- id- 属性のID。 nullは不可。
- value- 属性の値。 nullの場合、null値が属性に追加される。
 
 - 
BasicAttributepublic BasicAttribute(String id, boolean ordered) 順序付けされる可能性のある属性のインスタンスを値なしで新しく構築します。- パラメータ:
- id- 属性のID。 nullは不可。
- ordered- trueは、属性の値が順序付けされることを示す。それ以外の場合はfalse。
 
 
- 
 - 
メソッドの詳細- 
clonepublic Object clone() 次のクラスからコピーされた説明:Objectこのオブジェクトのコピーを作成して、返します。 「コピー」の正確な意味合いは、オブジェクトのクラスによって異なります。 一般的な意図は、任意のオブジェクトxについて、次の式
 がtrueであり、次の式x.clone() != x 
 が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を実装していると見なされること、および配列型T[]のcloneメソッドの戻り値の型はT[](ここで、Tは任意の参照またはプリミティブ型)です。 そうでない場合、このメソッドはこのオブジェクトのクラスの新しいインスタンスを生成し、そのフィールドをすべて、このオブジェクトの対応する各フィールドの内容で初期化します。これは代入と同様で、フィールドの内容自身が複製されるのではありません。 つまりこのメソッドは、オブジェクトの「シャロー・コピー」を生成しますが、「ディープ・コピー」は生成しません。クラス Object自体はインタフェースCloneableを実装していないため、クラスがObjectであるオブジェクトに対してcloneメソッドを呼び出すと、実行時に例外がスローされます。
 - 
equalspublic boolean equals(Object obj) objがこの属性と同一かどうかを判別します。 2つの属性の属性ID、構文、および値が等しい場合、2つの属性は同一です。 2つの属性の値が順序付けされていない場合、値が追加された順序は関係ありません。 属性値が順序付けされている場合、値の順序は一致する必要があります。 objがnullであるか、またはAttributeではない場合、falseが返されます。デフォルトでは、値が配列である場合を除き、 Object.equals()を使用して属性IDおよび属性の値を比較します。 配列の場合、配列の各要素はObject.equals()を使用してチェックされます。 サブクラスはこれをオーバーライドして、スキーマ構文情報、および2つの属性にとって同一が何を意味するかを定義する一致規則を使用できます。 サブクラスがスキーマ情報を使用するかどうか、またどのように使用するかは、サブクラスが決定します。 サブクラスがequals()をオーバーライドした場合、サブクラスはhashCode()もオーバーライドして、等しい2つの属性が同じハッシュ・コードを持つようにします。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- チェックするnullの可能性があるオブジェクト。
- 戻り値:
- objがこの属性と等しい場合はtrue、そうでない場合はfalse。
- 関連項目:
- hashCode(),- contains(java.lang.Object)
 
 - 
hashCodepublic int hashCode() この属性のハッシュ・コードを計算します。ハッシュ・コードは、属性のIDのハッシュ・コード、および値が配列である場合を除く属性の値すべてのハッシュ・コードを加算することによって計算されます。 配列の場合は、配列の各要素のハッシュ・コードが合計されます。 サブクラスが hashCode()をオーバーライドした場合、サブクラスはequals()も同じようにオーバーライドして、等しい2つの属性が同じハッシュ・コードを持つようにします。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- この属性のハッシュ・コードを表すint。
- 関連項目:
- equals(java.lang.Object)
 
 - 
toStringpublic String toString() この属性の文字列表記を生成します。 文字列は属性のIDおよび属性の値から構成されます。 この文字列はデバッグ用に使用されますが、プログラムによって解釈されることはありません。
 - 
getAllpublic NamingEnumeration<?> getAll() throws NamingException この属性の値の列挙を取り出します。デフォルトでは、戻り値は、コンストラクタに渡された値、または追加置換削除メソッドを使用して処理された値、あるいはその両方です。 サブクラスはこの値をオーバーライドして、ディレクトリから直接値を検出できます。 - 定義:
- getAll、インタフェース:- Attribute
- 戻り値:
- 属性値のnull以外の列挙。 列挙の各要素はnullオブジェクトの可能性がある。 オブジェクトのクラスは属性値のクラスである。 属性値がnullの場合は要素はnullになる。 属性にゼロ値が含まれる場合は空の列挙が返される。
- 例外:
- NamingException- 値の取得中にネーミング例外が検出された場合。
- 関連項目:
- Attribute.isOrdered()
 
 - 
getpublic Object get() throws NamingException この属性の値の1つを検出します。デフォルトでは、戻り値は、コンストラクタに渡された値、または追加置換削除メソッドを使用して処理された値、あるいはその両方のうちの1つです。 サブクラスはこの値をオーバーライドして、ディレクトリから直接値を検出できます。 - 定義:
- get、インタフェース:- Attribute
- 戻り値:
- nullの可能性がある、属性値の1つを表すオブジェクト。 属性値がnullの場合はnull。
- 例外:
- NamingException- 値の取得中にネーミング例外が検出された場合。
 
 - 
sizepublic int size() インタフェースからコピーされた説明:Attributeこの属性の値数を取り出します。
 - 
containspublic boolean contains(Object attrVal) 値がこの属性にあるかどうかを判定します。デフォルトでは、 Object.equals()は、attrValが配列の場合を除き、attrValをこの属性の値と比較するときに使用されます。 配列の場合、配列の各要素はObject.equals()を使用してチェックされます。 サブクラスがスキーマ情報を使用して同一性を判定する場合があります。- 定義:
- contains、インタフェース:- Attribute
- パラメータ:
- attrVal- チェックするnullの可能性がある値。 nullの場合、属性がnull値の属性値を持つかどうかを判定する。
- 戻り値:
- attrValがこの属性値の1つである場合はtrue、そうでない場合はfalse。
- 関連項目:
- Object.equals(java.lang.Object),- equals(java.lang.Object)
 
 - 
addpublic boolean add(Object attrVal) この属性に新しい値を追加します。デフォルトでは、 Object.equals()は、attrValが配列の場合を除き、attrValをこの属性の値と比較するときに使用されます。 配列の場合、配列の各要素はObject.equals()を使用してチェックされます。 サブクラスがスキーマ情報を使用して同一性を判定する場合があります。
 - 
removepublic boolean remove(Object attrval) 指定された値をこの属性から削除します。デフォルトでは、 Object.equals()は、attrValが配列の場合を除き、attrValをこの属性の値と比較するときに使用されます。 配列の場合、配列の各要素はObject.equals()を使用してチェックされます。 サブクラスがスキーマ情報を使用して同一性を判定する場合があります。
 - 
clearpublic void clear() インタフェースからコピーされた説明:Attributeこの属性からすべての値を削除します。
 - 
isOrderedpublic boolean isOrdered() インタフェースからコピーされた説明:Attribute属性値が順序付けられているかどうかを判別します。 属性値が順序付けられている場合は、複製値が許可されます。 属性値が順序付けられていない場合は、値は任意の順序で表示され、複製値はありません。- 定義:
- isOrdered、インタフェース:- Attribute
- 戻り値:
- この属性値が順序付けられている場合はtrue、そうでない場合はfalse。
- 関連項目:
- Attribute.get(int),- Attribute.remove(int),- Attribute.add(int, java.lang.Object),- Attribute.set(int, java.lang.Object)
 
 - 
getpublic Object get(int ix) throws NamingException インタフェースからコピーされた説明:Attribute属性値の順序付けられたリストから属性値を取り出します。 このメソッドは、属性値のリストのixインデックスにある値を返します。 属性値が順序付けられていない場合、このメソッドはそのインデックスの位置にある値を返します。- 定義:
- get、インタフェース:- Attribute
- パラメータ:
- ix- 属性値の順序付けられたリスト内の値のインデックス。- 0 <= ix < size()。
- 戻り値:
- インデックスixにあるnullの可能性がある属性値。属性値がnullの場合はnull。
- 例外:
- NamingException- 値の取得中にネーミング例外が検出された場合。
 
 - 
removepublic Object remove(int ix) インタフェースからコピーされた説明:Attribute属性値の順序付けられたリストから属性値を削除します。 このメソッドは、属性値のリストのixインデックスにある値を削除します。 属性値が順序付けられていない場合は、このメソッドはそのインデックスにあった値を削除します。ixより大きいインデックスにある値は、リストの前方に向けて上にシフトされます(また、そのインデックスは1減らされます)。
 - 
addpublic void add(int ix, Object attrVal)インタフェースからコピーされた説明:Attribute属性値を属性値の順序付けられたリストに追加します。 このメソッドは、インデックスixにある属性値のリストにattrValを追加します。ix以上のインデックスにある値は、リストの最後に向けて下にシフトされます(また、そのインデックスは1増やされます)。 属性値が順序付けられておらず、すでにattrValが含まれている場合は、IllegalStateExceptionがスローされます。
 - 
setpublic Object set(int ix, Object attrVal) インタフェースからコピーされた説明:Attribute属性値の順序付けられたリストの属性値を設定します。 このメソッドは、属性値のリストのixインデックスにある値をattrValとして設定します。 古い値は削除されます。 属性値が順序付けられていない場合は、attrValがすでにいずれかの値になっていないかぎり、このメソッドはそのインデックスにある値をattrValに設定します。 その場合は、IllegalStateExceptionがスローされます。
 - 
getAttributeSyntaxDefinitionpublic DirContext getAttributeSyntaxDefinition() throws NamingException この属性に関連付けられている構文の定義を検索します。このメソッドはデフォルトではOperationNotSupportedExceptionをスローします。 サブクラスがスキーマをサポートする場合、サブクラスがこのメソッドをオーバーライドします。 - 定義:
- getAttributeSyntaxDefinition、インタフェース:- Attribute
- 戻り値:
- 属性の構文定義。 実装がスキーマをサポートしても、この特定の属性にスキーマ情報が含まれていない場合はnull。
- 例外:
- OperationNotSupportedException- スキーマの取得がサポートされていない場合。
- NamingException- スキーマの取得中にネーミング例外が発生した場合。
 
 - 
getAttributeDefinitionpublic DirContext getAttributeDefinition() throws NamingException この属性のスキーマ定義を取り出します。このメソッドはデフォルトではOperationNotSupportedExceptionをスローします。 サブクラスがスキーマをサポートする場合、サブクラスがこのメソッドをオーバーライドします。 - 定義:
- getAttributeDefinition、インタフェース:- Attribute
- 戻り値:
- この属性のスキーマ定義。 実装がスキーマをサポートしても、この特定の属性にスキーマ情報が含まれていない場合はnull。
- 例外:
- OperationNotSupportedException- スキーマの取得がサポートされていない場合。
- NamingException- スキーマの取得中にネーミング例外が発生した場合。
 
 
- 
 
-