// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.framework.standard.shared; /** * フィルタのファクトリ * @author nilcy */ public class FilterFactory { /** デフォルトのページ番号 */ protected static final int DEFAULT_PAGE = 1; /** デフォルトのページサイズ */ protected static final int DEFAULT_SIZE = Integer.MAX_VALUE; /** * 基本フィルタの生成 * <dl> * <dt>事後条件</dt> * <dd>キーワードがNULL、ページ条件がデフォルトの基本フィルタを生成する。</dd> * </dl> * @return 基本フィルタ */ public static SimpleFilter createSimpleFilter() { return new SimpleFilter(null, new PageRequest(DEFAULT_PAGE, DEFAULT_SIZE)); } /** * 基本フィルタの生成 * <dl> * <dt>事前条件</dt> * <dd>ページ条件は非NULLであること。</dd> * <dt>事後条件</dt> * <dd>基本フィルタは不変オブジェクトである。</dd> * </dl> * @param keyword キーワード * @param pageRequest ページ条件 * @return 基本フィルタ */ public static SimpleFilter createSimpleFilter(final String keyword, final PageRequest pageRequest) { if (pageRequest == null) { return new SimpleFilter(keyword, new PageRequest(1, DEFAULT_SIZE)); } return new SimpleFilter(keyword, pageRequest); } }