日付フィルタの作成

DateFilterクラスは、フィルタリングするファイルおよびフォルダに対して日付を指定します。

DateFilterは、日時値を使用して、Endeca.FileSystem.ModificationDateプロパティ(下の例で使用)などのプロパティを一時的にフィルタリングします。また、フィルタは、列挙を使用してオペランドの比較方法を指定する比較演算子も使用します。
  • BEFORE
  • AFTER

たとえば、Endeca.FileSystem.ModificationDateプロパティに対してBEFORE演算子を実行する日付除外フィルタを作成すると、日付参照より前に変更されたファイルは除外されます。

日付フィルタを作成するには:

  1. SourceConfigおよびCrawlConfigが作成されていることを確認します。
    たとえば、次のようになります。
    SourceConfig sourceConfig = new SourceConfig();
  2. 新しい空のDateFilterオブジェクトをインスタンス化します。
    DateFilter filter = new DateFilter();
  3. setPropertyName()メソッド(Filterクラスから継承)を使用して、適用するフィルタにプロパティの名前を設定します。
    // Filter on the last-modified date.
    filter.setPropertyName("Endeca.FileSystem.ModificationDate");
  4. setReferenceValue()メソッドを使用して、日付/時間値を設定します。Java APIは、Dateオブジェクトをそのパラメータとして取得し、WSDL生成クラスは、XMLGregorianCalendarオブジェクトを取得します。
    たとえば、次のようになります。
    // Create a Date object.
    Date date = new Date();
    // set the time to noon on May 1, 2009
    date.setYear(2009);
    date.setMonth(5);
    date.setDay(1);
    date.setTime(12,0,0);
    filter.setReferenceValue(date);
  5. setOperator()メソッドをコールし、フィルタが、以前の変更日を持つファイルを除外するよう指定します。
    たとえば、次のようになります。
    // Exclude files with an earlier modification date.
    filter.setOperator(DateComparisonOperator.BEFORE);
  6. setScope()メソッド(Filterクラスから継承)をコールして、フィルタ・スコープを設定します。ファイルまたはディレクトリ(FilterScope.DIRECTORY)への範囲を設定できます。
    たとえば、次のようになります。
    // Set the scope of the filter for only files.
    filter.setScope(FilterScope.FILE);
  7. Filterオブジェクトのリストを作成し、add()メソッドを使用して日付フィルタを追加します。
    たとえば、次のようになります。
    List<Filter> filterList = new ArrayList<Filter>();  
    filterList.add(filter);
  8. SourceConfig.setExcludeFilters()メソッドを使用して、SourceConfig構成オブジェクトに移入されたリストを設定します。これが包含フィルタである場合、かわりにSourceConfig.setIncludeFilters()メソッドを使用します。
    たとえば、次のようになります。
    // Set the filter in the source configuration.
    sourceConfig.setExcludeFilters(filterList);
  9. CrawlConfig.setSourceConfig()メソッドを使用して、移入されたSourceConfigをメインのCrawlConfig構成オブジェクトに設定します。
    たとえば、次のようになります。
    // Set the source config in the crawl configuration.
    crawlConfig.setSourceConfig(sourceConfig);

DateFilterクラスには、XMLGregorianCalendarオブジェクトを取得するgetReferenceValue()が含まれています。また、SourceConfigクラスには、ソース構成からフィルタを取得するgetExcludeFilters()およびgetIncludeFilters()メソッドが含まれています。