クラス LdapQueryBuilder

java.lang.ObjectSE
org.springframework.ldap.query.LdapQueryBuilder
実装されているすべてのインターフェース:
LdapQuery

public final class LdapQueryBuilder extends ObjectSE implements LdapQuery
LdapQueries のビルダー。query() の呼び出しから開始し、基本的な検索構成 (検索ベース、時間制限など) の指定に進み、最後に実際のクエリを指定します。例:
 import static org.springframework.ldap.query.LdapQueryBuilder.query;
 ...

 LdapQuery query = query()
  .base("dc=261consulting, dc=com")
  .searchScope(SearchScope.ONELEVEL)
  .timeLimit(200)
  .countLimit(221)
  .where("objectclass").is("person").and("cn").is("John Doe");
 

デフォルトの構成では、ベースパスは LdapUtils.emptyLdapName() です。他のすべてのパラメーターは未定義です。つまり、(ベース検索パラメーターの場合) LdapTemplate のデフォルトが使用されます。フィルター条件は常に指定する必要があります。

導入:
2.0
関連事項:
  • メソッドの詳細

    • query

      public static LdapQueryBuilder query()
      新しい LdapQueryBuilder を作成します。
      戻り値:
      新しいインスタンス。
    • fromQuery

      public static LdapQueryBuilder fromQuery(LdapQuery query)
      既存の LdapQuery に基づいて新しい LdapQueryBuilder を構築します。クエリにデフォルトのフィルターを与えることも含め、すべてのフィールドがコピーされます。

      すべてのフィルターの不変条件が引き続き適用されることに注意してください。アプリケーションは、フィルターを指定した後にフィルター以外の値を指定することはできません。

      戻り値:
      新しいインスタンス。
      導入:
      3.0
    • base

      public LdapQueryBuilder base(StringSE baseDn)
      クエリのベース検索パスを設定します。デフォルトは LdapUtils.emptyLdapName() です。
      パラメーター:
      baseDn - ベース検索パス。
      戻り値:
      このインスタンス。
    • base

      public LdapQueryBuilder base(NameSE baseDn)
      クエリのベース検索パスを設定します。デフォルトは LdapUtils.emptyLdapName() です。
      パラメーター:
      baseDn - ベース検索パス。
      戻り値:
      このインスタンス。
    • searchScope

      public LdapQueryBuilder searchScope(SearchScope searchScope)
      クエリの検索範囲を設定します。デフォルトは SearchScope.SUBTREE です。
      パラメーター:
      searchScope - 検索範囲。
      戻り値:
      このインスタンス。
    • countLimit

      public LdapQueryBuilder countLimit(int countLimit)
      クエリのカウント制限を設定します。デフォルトは 0 (無制限) です。
      パラメーター:
      countLimit - カウント制限。
      戻り値:
      このインスタンス。
    • attributes

      public LdapQueryBuilder attributes(StringSE... attributesToReturn)
    • timeLimit

      public LdapQueryBuilder timeLimit(int timeLimit)
      クエリの制限時間を設定します。デフォルトは 0 (無制限) です。
      パラメーター:
      timeLimit - 制限時間。
      戻り値:
      このインスタンス。
    • where

      public ConditionCriteria where(StringSE attribute)
      このクエリでフィルター条件の指定を開始します。
      パラメーター:
      attribute - フィルターの最初の部分がテストする属性。
      戻り値:
      比較操作を指定するための ConditionCriteria インスタンス。
      例外:
      IllegalStateExceptionSE - フィルターがすでに指定されている場合。
    • filter

      public LdapQuery filter(StringSE hardcodedFilter)
      ハードコードされたフィルターを指定します。このメソッドを使用すると、フィルター文字列は検証またはエスケープされないことに注意してください。直接のユーザー入力は使用せず、文字列を連結して LDAP フィルターとして使用します。そうすることで、「LDAP インジェクション」が可能になり、悪意のあるユーザーが特別に構築されたデータを挿入して、都合の良いときにフィルターを形成する可能性があります。ユーザー入力を使用する場合は、代わりに where(String)filter(String, Object...)、または filter(Filter) の使用を検討してください。
      パラメーター:
      hardcodedFilter - 検索で使用するハードコードされたフィルター文字列。
      戻り値:
      このインスタンス。
      例外:
      IllegalStateExceptionSE - フィルターがすでに指定されている場合。
    • filter

      public LdapQuery filter(Filter filter)
      使用するフィルターを指定します。
      パラメーター:
      filter - 検索で使用するフィルター。
      戻り値:
      このインスタンス。
      例外:
      IllegalStateExceptionSE - フィルターがすでに指定されている場合。
    • filter

      public LdapQuery filter(StringSE filterFormat, ObjectSE... params)
      指定されたパラメーターを使用して、ハードコードされたフィルターを指定します。パラメーターは LdapEncoder.filterEncode(String) を使用して適切にエンコードされ、悪意のあるデータが通過しないようにします。filterFormat 文字列は、MessageFormat.format(String, Object...)SE への入力用にフォーマットする必要があります。
      パラメーター:
      filterFormat - MessageFormat.format(String, Object...)SE への入力用にフォーマットされたフィルターフォーマット文字列。
      params - 最終的なフィルターを構築するために使用されるパラメーター。すべてのパラメーターは適切にエンコードされます。
      戻り値:
      このインスタンス。
      例外:
      IllegalStateExceptionSE - フィルターがすでに指定されている場合。
    • base

      public NameSE base()
      インターフェースからコピーされた説明: LdapQuery
      検索ベースを取得します。デフォルトは LdapUtils.emptyLdapName() です。
      次で指定:
      インターフェース LdapQuerybase 
      戻り値:
      検索ベース。
    • searchScope

      public SearchScope searchScope()
      インターフェースからコピーされた説明: LdapQuery
      検索範囲を取得します。デフォルトは null で、LdapTemplate デフォルトを使用する必要があることを示します。
      次で指定:
      インターフェース LdapQuerysearchScope 
      戻り値:
      検索範囲。
    • countLimit

      public IntegerSE countLimit()
      インターフェースからコピーされた説明: LdapQuery
      カウント制限を取得します。デフォルトは null で、LdapTemplate デフォルトを使用する必要があることを示します。
      次で指定:
      インターフェース LdapQuerycountLimit 
      戻り値:
      カウント制限。
    • timeLimit

      public IntegerSE timeLimit()
      インターフェースからコピーされた説明: LdapQuery
      制限時間を取得します。デフォルトは null で、LdapTemplate デフォルトを使用する必要があることを示します。
      次で指定:
      インターフェース LdapQuerytimeLimit 
      戻り値:
      制限時間。
    • attributes

      public StringSE[] attributes()
      インターフェースからコピーされた説明: LdapQuery
      返す属性を取得します。デフォルトは null で、すべての属性を返す必要があることを示します。
      次で指定:
      インターフェース LdapQueryattributes 
      戻り値:
      返す属性。
    • filter

      public Filter filter()
      インターフェースからコピーされた説明: LdapQuery
      フィルターを取得します。
      次で指定:
      インターフェース LdapQueryfilter 
      戻り値:
      フィルター。