パッケージ org.opengion.hayabusa.resource

## クラス LDAPSearch

- java.lang.Object
- - org.opengion.hayabusa.resource.LDAPSearch

-     public class LDAPSearch
      extends Object

  LDAPの内容を検索するための、ldapQueryタグです。 検索した結果は、配列で取得します。 下記の項目については、src/resource/システムパラメータ に、予め 設定しておくことで、タグごとに指定する必要がなくなります。 ・LDAP_INITIAL_CONTEXT_FACTORY ・LDAP_PROVIDER_URL ・LDAP_ENTRYDN ・LDAP_PASSWORD ・LDAP_SEARCH_BASE ・LDAP_SEARCH_SCOPE ・LDAP_SEARCH_REFERRAL
  変更履歴:
    3.7.1.0 (2005/04/15) ＬＤＡＰにアクセスできる、LDAPSearch.java を新規に作成。
  機能分類
    その他入力
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `LDAPSearch()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `String[]` | `getAttributes()` | 検索の一部として返される属性を文字列配列で取得します。
    `void` | `init()` | LDAPパラメータを利用して、LDAP検索用オブジェクトを構築します。
    `List<String[]>` | `search​(String filter)` | LDPA から、値を取り出し、List オブジェクトを作成します。
    `void` | `setAttributes​(String... atr)` | 検索の一部として返される属性を文字列配列でセットします。
    `void` | `setDerefLinkFlag​(boolean deref)` | 検索中のリンクへの間接参照を有効または無効[true/false]にします(初期値:false)。
    `void` | `setEntrydn​(String dn)` | 属性の取得元のオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_ENTRYDN)。
    `void` | `setInitctx​(String ctx)` | 初期コンテキストファクトリを指定します(初期値:システムパラメータ の INITIAL_CONTEXT_FACTORY)。
    `void` | `setMaxRowCount​(int count)` | レジストリの最大検索件数をセットします(初期値:0[無制限])。
    `void` | `setOrderBy​(String ordr)` | 検索した結果を表示する表示順をファイル属性名で指定します。
    `void` | `setPassword​(String pwd)` | 属性の取得元のオブジェクトのパスワードを設定します(初期値:システムパラメータ の LDAP_PASSWORD)。
    `void` | `setProviderURL​(String url)` | サービスプロバイダの構成情報を指定します(初期値:システムパラメータ の LDAP_PROVIDER_URL)。
    `void` | `setReturningObjFlag​(boolean pbjflag)` | 結果の一部としてオブジェクトを返すことを有効または無効[true/false]にします(初期値:false)。
    `void` | `setSearchbase​(String base)` | 検索するコンテキストまたはオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_SEARCH_BASE)。
    `void` | `setSearchScope​(String scope)` | 検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します(初期値:LDAP_SEARCH_SCOPE)。
    `void` | `setTimeLimit​(int limit)` | これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。
    `String` | `toString()` | このオブジェクトの文字列表現を返します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### LDAPSearch

          public LDAPSearch()

      デフォルトコンストラクター
      変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### init

          public void init()

      LDAPパラメータを利用して、LDAP検索用オブジェクトを構築します。
      変更履歴:
        4.2.2.0 (2008/05/10) LDAP パスワード取得対応, 5.6.7.0 (2013/07/27) LDAPのREFERRAL対応 通常、パラメータをセット後、search( String filter ) の実行前に、呼びます。

    - #### search

          public List<String[]> search​(String filter)

      LDPA から、値を取り出し、List オブジェクトを作成します。 引数の headerAdd をtrueにする事により、１件目に、キー情報の配列を返します。
      パラメータ:
        `filter` - フィルター文字列
      戻り値:
        検索結果の Listオブジェクト
      変更履歴:
        4.2.2.0 (2008/05/10) LDAP パスワード取得対応

    - #### setSearchScope

          public void setSearchScope​(String scope)

      検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します(初期値:LDAP_SEARCH_SCOPE)。 検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。
      パラメータ:
        `scope` - SearchControlsの検索範囲

    - #### setTimeLimit

          public void setTimeLimit​(int limit)

      これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。 値が 0 の場合、無制限に待つことを意味します。
      パラメータ:
        `limit` - ミリ秒単位の時間制限(初期値:無制限)

    - #### setDerefLinkFlag

          public void setDerefLinkFlag​(boolean deref)

      検索中のリンクへの間接参照を有効または無効[true/false]にします(初期値:false)。 検索中のリンクへの間接参照を有効または無効にします。
      パラメータ:
        `deref` - リンクを逆参照する場合は true、そうでない場合は false(初期値:false)

    - #### setReturningObjFlag

          public void setReturningObjFlag​(boolean pbjflag)

      結果の一部としてオブジェクトを返すことを有効または無効[true/false]にします(初期値:false)。 無効にした場合、オブジェクトの名前およびクラスだけが返されます。 有効にした場合、オブジェクトが返されます。
      パラメータ:
        `pbjflag` - オブジェクトが返される場合は true、そうでない場合は false(初期値:false)

    - #### setMaxRowCount

          public void setMaxRowCount​(int count)

      レジストリの最大検索件数をセットします(初期値:0[無制限])。 DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 は、無制限です。(初期値は、無制限です。)
      パラメータ:
        `count` - レジストリの最大検索件数

    - #### setAttributes

          public void setAttributes​(String... atr)

      検索の一部として返される属性を文字列配列でセットします。 null は属性が何も返されないことを示します。 このメソッドからは、空の配列をセットすることは出来ません。
      パラメータ:
        `atr` - 返される属性を識別する属性 ID の配列(可変長引数)

    - #### getAttributes

          public String[] getAttributes()

      検索の一部として返される属性を文字列配列で取得します。 setAttributes で、設定した文字列配列が返されます。 属性配列に、 null をセットした場合、全属性が返されます。
      戻り値:
        返される属性を識別する属性 ID の配列
      このメソッドは、nullを返しません

    - #### setInitctx

          public void setInitctx​(String ctx)

      初期コンテキストファクトリを指定します(初期値:システムパラメータ の INITIAL_CONTEXT_FACTORY)。 初期値は、システムパラメータ の INITIAL_CONTEXT_FACTORY 属性です。 例)com.sun.jndi.ldap.LdapCtxFactory
      パラメータ:
        `ctx` - INITIAL_CONTEXT_FACTORY属性

    - #### setProviderURL

          public void setProviderURL​(String url)

      サービスプロバイダの構成情報を指定します(初期値:システムパラメータ の LDAP_PROVIDER_URL)。 プロトコルとサーバーとポートを指定します。 例)『ldap://ldap.opengion.org:389』
      パラメータ:
        `url` - PROVIDER_URL属性

    - #### setSearchbase

          public void setSearchbase​(String base)

      検索するコンテキストまたはオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_SEARCH_BASE)。 例)『soOUID=employeeuser,o=opengion,c=JP』
      パラメータ:
        `base` - SEARCHBASE属性

    - #### setEntrydn

          public void setEntrydn​(String dn)

      属性の取得元のオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_ENTRYDN)。 例)『cn=inquiry-sys,o=opengion,c=JP』
      パラメータ:
        `dn` - 取得元のオブジェクトの名前

    - #### setPassword

          public void setPassword​(String pwd)

      属性の取得元のオブジェクトのパスワードを設定します(初期値:システムパラメータ の LDAP_PASSWORD)。
      パラメータ:
        `pwd` - 取得元のオブジェクトのパスワード
      変更履歴:
        4.2.2.0 (2008/05/10) LDAP パスワード取得対応

    - #### setOrderBy

          public void setOrderBy​(String ordr)

      検索した結果を表示する表示順をファイル属性名で指定します。 attributes 属性で指定するキー、または、LDAPから返されたキーについて その属性でソートします。逆順を行う場合は、DESC を指定のカラム名の後ろに 付けて下さい。
      パラメータ:
        `ordr` - ソートキーを指定。

    - #### toString

          public String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `Object`
      戻り値:
        このクラスの文字列表現
      このメソッドは、nullを返しません