モジュール java.naming
パッケージ 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
    非推奨。
    インタフェース内の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

      @Deprecated static final long serialVersionUID
      非推奨。
      インタフェース内のserialVersionUIDフィールドは無効です。 使用しないでください; 代替なし。
      相互運用性のために、JNDI 1.1.1のserialVersionUIDを使用します。
      関連項目:
      定数フィールド値
  • メソッドの詳細

    • getAll

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

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

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

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

      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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      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

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