モジュール java.naming
パッケージ 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​()
      この属性の文字列表記を生成します。
    • フィールドの詳細

      • 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を実装していると見なされること、および配列型T[]cloneメソッドの戻り値の型はT[] (ここで、Tは任意の参照またはプリミティブ型)です。 そうでない場合、このメソッドはこのオブジェクトのクラスの新しいインスタンスを生成し、そのフィールドをすべて、このオブジェクトの対応する各フィールドの内容で初期化します。これは代入と同様で、フィールドの内容自身が複製されるのではありません。 つまりこのメソッドは、オブジェクトの「シャロー・コピー」を生成しますが、「ディープ・コピー」は生成しません。

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

        定義:
        clone、インタフェース: Attribute
        オーバーライド:
        clone、クラス: Object
        戻り値:
        このインスタンスの複製。
        関連項目:
        Cloneable
      • equals

        public 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)
      • hashCode

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

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

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

        public String toString​()
        この属性の文字列表記を生成します。 文字列は属性のIDおよび属性の値から構成されます。 この文字列はデバッグ用に使用されますが、プログラムによって解釈されることはありません。
        オーバーライド:
        toString、クラス: Object
        戻り値:
        この属性のnull以外の文字列表現。
      • getAll

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

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

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

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

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

        定義:
        get、インタフェース: Attribute
        戻り値:
        nullの可能性がある、属性値の1つを表すオブジェクト。 属性値がnullの場合はnull。
        例外:
        NamingException - 値の取得中にネーミング例外が検出された場合。
      • size

        public int size​()
        インタフェースからコピーされた説明: Attribute
        この属性の値数を取り出します。
        定義:
        size、インタフェース: Attribute
        戻り値:
        この属性の負でない値数。
      • getID

        public String getID​()
        インタフェースからコピーされた説明: Attribute
        この属性のIDを取り出します。
        定義:
        getID、インタフェース: Attribute
        戻り値:
        この属性のID。 nullは不可。
      • contains

        public 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)
      • add

        public boolean add​(Object attrVal)
        この属性に新しい値を追加します。

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

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

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

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

        定義:
        remove、インタフェース: Attribute
        パラメータ:
        attrval - この属性から削除するnullの可能性がある値。 nullの場合、nullの属性値が削除される。
        戻り値:
        値が削除された場合はtrue、そうでない場合はfalse。
      • clear

        public void clear​()
        インタフェースからコピーされた説明: Attribute
        この属性からすべての値を削除します。
        定義:
        clear、インタフェース: 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減らされます)。
        定義:
        remove、インタフェース: Attribute
        パラメータ:
        ix - 削除する値のインデックス。0 <= ix < size()
        戻り値:
        削除されたインデックスixにあるnullの可能性がある属性値。属性値がnullの場合はnull。
      • add

        public void add​(int ix,
                        Object attrVal)
        インタフェースからコピーされた説明: Attribute
        属性値を属性値の順序付けられたリストに追加します。 このメソッドは、インデックスixにある属性値のリストにattrValを追加します。 ix以上のインデックスにある値は、リストの最後に向けて下にシフトされます(また、そのインデックスは1増やされます)。 属性値が順序付けられておらず、すでにattrValが含まれている場合は、IllegalStateExceptionがスローされます。
        定義:
        add、インタフェース: Attribute
        パラメータ:
        ix - 新しい値を追加する属性値の順序付けられたリスト内のインデックス。0 <= ix <= size()
        attrVal - 追加するnullの可能性がある属性値。nullの場合は、nullが値として追加される。
      • set

        public Object set​(int ix,
                          Object attrVal)
        インタフェースからコピーされた説明: Attribute
        属性値の順序付けられたリストの属性値を設定します。 このメソッドは、属性値のリストのixインデックスにある値をattrValとして設定します。 古い値は削除されます。 属性値が順序付けられていない場合は、attrValがすでにいずれかの値になっていないかぎり、このメソッドはそのインデックスにある値をattrValに設定します。 その場合は、IllegalStateExceptionがスローされます。
        定義:
        set、インタフェース: Attribute
        パラメータ:
        ix - 属性値の順序付けられたリスト内の値のインデックス。0 <= ix < size()
        attrVal - 使用するnullの可能性がある属性値。 nullの場合、古い値がnullに変換される。
        戻り値:
        nullの可能性がある、置換されたインデックスixにある属性値。 属性値がnullの場合はnull。
      • getAttributeSyntaxDefinition

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

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

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

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

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

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