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