View Javadoc
1   /*
2    * Copyright 2009-2013 the original author or authors.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package com.orangesignal.csv.filters;
18  
19  import java.util.regex.Pattern;
20  
21  /**
22   * 区切り文字形式データフィルタを構築するファクトリクラスを提供します。
23   * 
24   * @author Koji Sugisawa
25   * @since 1.2.3
26   */
27  public abstract class CsvExpressions {
28  
29  	/**
30  	 * デフォルトコンストラクタです。
31  	 */
32  	protected CsvExpressions() {}
33  
34  	/**
35  	 * 指定された項目位置に対応する区切り文字形式データの値が <code>null</code> であるかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
36  	 * 
37  	 * @param position 項目位置
38  	 * @return 区切り文字形式データフィルタ
39  	 */
40  	public static ColumnPositionNullExpression isNull(final int position) {
41  		return new ColumnPositionNullExpression(position);
42  	}
43  
44  	/**
45  	 * 指定された項目名に対応する区切り文字形式データの値が <code>null</code> であるかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
46  	 * 
47  	 * @param name 項目名
48  	 * @return 区切り文字形式データフィルタ
49  	 * @throws IllegalArgumentException <code>name</code> が <code>null</code> の場合
50  	 */
51  	public static ColumnNameNullExpression isNull(final String name) {
52  		return new ColumnNameNullExpression(name);
53  	}
54  
55  	/**
56  	 * 指定された項目位置に対応する区切り文字形式データの値が <code>null</code> でないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
57  	 * 
58  	 * @param position 項目位置
59  	 * @return 区切り文字形式データフィルタ
60  	 */
61  	public static ColumnPositionNotNullExpression isNotNull(final int position) {
62  		return new ColumnPositionNotNullExpression(position);
63  	}
64  
65  	/**
66  	 * 指定された項目名に対応する区切り文字形式データの値が <code>null</code> でないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
67  	 * 
68  	 * @param name 項目名
69  	 * @return 区切り文字形式データフィルタ
70  	 * @throws IllegalArgumentException <code>name</code> が <code>null</code> の場合
71  	 */
72  	public static ColumnNameNotNullExpression isNotNull(final String name) {
73  		return new ColumnNameNotNullExpression(name);
74  	}
75  
76  	/**
77  	 * 指定された項目位置に対応する区切り文字形式データの値が空かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
78  	 * 
79  	 * @param position 項目位置
80  	 * @return 区切り文字形式データフィルタ
81  	 */
82  	public static ColumnPositionEmptyExpression isEmpty(final int position) {
83  		return new ColumnPositionEmptyExpression(position);
84  	}
85  
86  	/**
87  	 * 指定された項目名に対応する区切り文字形式データの値が空かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
88  	 * 
89  	 * @param name 項目名
90  	 * @return 区切り文字形式データフィルタ
91  	 */
92  	public static ColumnNameEmptyExpression isEmpty(final String name) {
93  		return new ColumnNameEmptyExpression(name);
94  	}
95  
96  	/**
97  	 * 指定された項目位置に対応する区切り文字形式データの値が空でないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
98  	 * 
99  	 * @param position 項目位置
100 	 * @return 区切り文字形式データフィルタ
101 	 */
102 	public static ColumnPositionNotEmptyExpression isNotEmpty(final int position) {
103 		return new ColumnPositionNotEmptyExpression(position);
104 	}
105 
106 	/**
107 	 * 指定された項目名に対応する区切り文字形式データの値が空でないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
108 	 * 
109 	 * @param name 項目名
110 	 * @return 区切り文字形式データフィルタ
111 	 */
112 	public static ColumnNameNotEmptyExpression isNotEmpty(final String name) {
113 		return new ColumnNameNotEmptyExpression(name);
114 	}
115 
116 	/**
117 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値と等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
118 	 * 
119 	 * @param position 項目位置
120 	 * @param criteria 判定基準値
121 	 * @return 区切り文字形式データフィルタ
122 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
123 	 */
124 	public static ColumnPositionEqualExpression eq(final int position, final String criteria) {
125 		return new ColumnPositionEqualExpression(position, criteria);
126 	}
127 
128 	/**
129 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値と等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
130 	 * 
131 	 * @param name 項目名
132 	 * @param criteria 判定基準値
133 	 * @return 区切り文字形式データフィルタ
134 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
135 	 */
136 	public static ColumnNameEqualExpression eq(final String name, final String criteria) {
137 		return new ColumnNameEqualExpression(name, criteria);
138 	}
139 
140 	/**
141 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値と等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
142 	 * 
143 	 * @param position 項目位置
144 	 * @param criteria 判定基準値
145 	 * @param ignoreCase 大文字と小文字を区別するかどうか
146 	 * @return 区切り文字形式データフィルタ
147 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
148 	 */
149 	public static ColumnPositionEqualExpression eq(final int position, final String criteria, final boolean ignoreCase) {
150 		return new ColumnPositionEqualExpression(position, criteria, ignoreCase);
151 	}
152 
153 	/**
154 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値と等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
155 	 * 
156 	 * @param name 項目名
157 	 * @param criteria 判定基準値
158 	 * @param ignoreCase 大文字と小文字を区別するかどうか
159 	 * @return 区切り文字形式データフィルタ
160 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
161 	 */
162 	public static ColumnNameEqualExpression eq(final String name, final String criteria, final boolean ignoreCase) {
163 		return new ColumnNameEqualExpression(name, criteria, ignoreCase);
164 	}
165 
166 	/**
167 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値と等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
168 	 * 
169 	 * @param position 項目位置
170 	 * @param criteria 判定基準値
171 	 * @return 区切り文字形式データフィルタ
172 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
173 	 */
174 	public static ColumnPositionNotEqualExpression ne(final int position, final String criteria) {
175 		return new ColumnPositionNotEqualExpression(position, criteria);
176 	}
177 
178 	/**
179 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値と等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
180 	 * 
181 	 * @param name 項目名
182 	 * @param criteria 判定基準値
183 	 * @return 区切り文字形式データフィルタ
184 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
185 	 */
186 	public static ColumnNameNotEqualExpression ne(final String name, final String criteria) {
187 		return new ColumnNameNotEqualExpression(name, criteria);
188 	}
189 
190 	/**
191 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値と等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
192 	 * 
193 	 * @param position 項目位置
194 	 * @param criteria 判定基準値
195 	 * @param ignoreCase 大文字と小文字を区別するかどうか
196 	 * @return 区切り文字形式データフィルタ
197 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
198 	 */
199 	public static ColumnPositionNotEqualExpression ne(final int position, final String criteria, final boolean ignoreCase) {
200 		return new ColumnPositionNotEqualExpression(position, criteria, ignoreCase);
201 	}
202 
203 	/**
204 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値と等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
205 	 * 
206 	 * @param name 項目名
207 	 * @param criteria 判定基準値
208 	 * @param ignoreCase 大文字と小文字を区別するかどうか
209 	 * @return 区切り文字形式データフィルタ
210 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
211 	 */
212 	public static ColumnNameNotEqualExpression ne(final String name, final String criteria, final boolean ignoreCase) {
213 		return new ColumnNameNotEqualExpression(name, criteria, ignoreCase);
214 	}
215 
216 	/**
217 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値群のいずれかと等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
218 	 * 
219 	 * @param position 項目位置
220 	 * @param criterias 判定基準値群
221 	 * @return 区切り文字形式データフィルタ
222 	 * @throws IllegalArgumentException <code>criterias</code> が <code>null</code> の場合
223 	 */
224 	public static ColumnPositionInExpression in(final int position, final String... criterias) {
225 		return new ColumnPositionInExpression(position, criterias);
226 	}
227 
228 	/**
229 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値群のいずれかと等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
230 	 * 
231 	 * @param name 項目名
232 	 * @param criterias 判定基準値群
233 	 * @return 区切り文字形式データフィルタ
234 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
235 	 */
236 	public static ColumnNameInExpression in(final String name, final String... criterias) {
237 		return new ColumnNameInExpression(name, criterias);
238 	}
239 
240 	/**
241 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値群のいずれかと等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
242 	 * 
243 	 * @param position 項目位置
244 	 * @param criterias 判定基準値群
245 	 * @param ignoreCase 大文字と小文字を区別するかどうか
246 	 * @return 区切り文字形式データフィルタ
247 	 * @throws IllegalArgumentException <code>criterias</code> が <code>null</code> の場合
248 	 */
249 	public static ColumnPositionInExpression in(final int position, final String[] criterias, final boolean ignoreCase) {
250 		return new ColumnPositionInExpression(position, criterias, ignoreCase);
251 	}
252 
253 	/**
254 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値群のいずれかと等しいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
255 	 * 
256 	 * @param name 項目名
257 	 * @param criterias 判定基準値群
258 	 * @param ignoreCase 大文字と小文字を区別するかどうか
259 	 * @return 区切り文字形式データフィルタ
260 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
261 	 */
262 	public static ColumnNameInExpression in(final String name, final String[] criterias, final boolean ignoreCase) {
263 		return new ColumnNameInExpression(name, criterias, ignoreCase);
264 	}
265 
266 	/**
267 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値群のいずれとも等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
268 	 * 
269 	 * @param position 項目位置
270 	 * @param criterias 判定基準値群
271 	 * @return 区切り文字形式データフィルタ
272 	 * @throws IllegalArgumentException <code>criterias</code> が <code>null</code> の場合
273 	 */
274 	public static ColumnPositionNotInExpression notIn(final int position, final String... criterias) {
275 		return new ColumnPositionNotInExpression(position, criterias);
276 	}
277 
278 	/**
279 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値群のいずれとも等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
280 	 * 
281 	 * @param name 項目名
282 	 * @param criterias 判定基準値群
283 	 * @return 区切り文字形式データフィルタ
284 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
285 	 */
286 	public static ColumnNameNotInExpression notIn(final String name, final String... criterias) {
287 		return new ColumnNameNotInExpression(name, criterias);
288 	}
289 
290 	/**
291 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値群のいずれとも等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
292 	 * 
293 	 * @param position 項目位置
294 	 * @param criterias 判定基準値群
295 	 * @param ignoreCase 大文字と小文字を区別するかどうか
296 	 * @return 区切り文字形式データフィルタ
297 	 * @throws IllegalArgumentException <code>criterias</code> が <code>null</code> の場合
298 	 */
299 	public static ColumnPositionNotInExpression notIn(final int position, final String[] criterias, final boolean ignoreCase) {
300 		return new ColumnPositionNotInExpression(position, criterias, ignoreCase);
301 	}
302 
303 	/**
304 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値群のいずれとも等しくないかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
305 	 * 
306 	 * @param name 項目名
307 	 * @param criterias 判定基準値群
308 	 * @param ignoreCase 大文字と小文字を区別するかどうか
309 	 * @return 区切り文字形式データフィルタ
310 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
311 	 */
312 	public static ColumnNameNotInExpression notIn(final String name, final String[] criterias, final boolean ignoreCase) {
313 		return new ColumnNameNotInExpression(name, criterias, ignoreCase);
314 	}
315 
316 	/**
317 	 * 指定された項目位置に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
318 	 * 
319 	 * @param position 項目位置
320 	 * @param pattern 正規表現パターン
321 	 * @return 区切り文字形式データフィルタ
322 	 * @throws IllegalArgumentException <code>pattern</code> が <code>null</code> の場合
323 	 */
324 	public static ColumnPositionRegexExpression regex(final int position, final String pattern) {
325 		return new ColumnPositionRegexExpression(position, pattern);
326 	}
327 
328 	/**
329 	 * 指定された項目位置に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
330 	 * 
331 	 * @param position 項目位置
332 	 * @param pattern 正規表現パターン
333 	 * @param ignoreCase 大文字と小文字を区別するかどうか
334 	 * @return 区切り文字形式データフィルタ
335 	 * @throws IllegalArgumentException <code>pattern</code> が <code>null</code> の場合
336 	 */
337 	public static ColumnPositionRegexExpression regex(final int position, final String pattern, final boolean ignoreCase) {
338 		return new ColumnPositionRegexExpression(position, pattern, ignoreCase);
339 	}
340 
341 	/**
342 	 * 指定された項目位置に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
343 	 * 
344 	 * @param position 項目位置
345 	 * @param pattern 正規表現パターン
346 	 * @param flags マッチフラグ
347 	 * @return 区切り文字形式データフィルタ
348 	 * @throws IllegalArgumentException <code>pattern</code> が <code>null</code> の場合
349 	 */
350 	public static ColumnPositionRegexExpression regex(final int position, final String pattern, final int flags) {
351 		return new ColumnPositionRegexExpression(position, pattern, flags);
352 	}
353 
354 	/**
355 	 * 指定された項目位置に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
356 	 * 
357 	 * @param position 項目位置
358 	 * @param pattern 正規表現パターン
359 	 * @return 区切り文字形式データフィルタ
360 	 * @throws IllegalArgumentException <code>pattern</code> が <code>null</code> の場合
361 	 */
362 	public static ColumnPositionRegexExpression regex(final int position, final Pattern pattern) {
363 		return new ColumnPositionRegexExpression(position, pattern);
364 	}
365 
366 	/**
367 	 * 指定された項目名に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
368 	 * 
369 	 * @param name 項目名
370 	 * @param pattern 正規表現パターン
371 	 * @return 区切り文字形式データフィルタ
372 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
373 	 */
374 	public static ColumnNameRegexExpression regex(final String name, final String pattern) {
375 		return new ColumnNameRegexExpression(name, pattern);
376 	}
377 
378 	/**
379 	 * 指定された項目名に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
380 	 * 
381 	 * @param name 項目名
382 	 * @param pattern 正規表現パターン
383 	 * @param ignoreCase 大文字と小文字を区別するかどうか
384 	 * @return 区切り文字形式データフィルタ
385 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
386 	 */
387 	public static ColumnNameRegexExpression regex(final String name, final String pattern, final boolean ignoreCase) {
388 		return new ColumnNameRegexExpression(name, pattern, ignoreCase);
389 	}
390 
391 	/**
392 	 * 指定された項目名に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
393 	 * 
394 	 * @param name 項目名
395 	 * @param pattern 正規表現パターン
396 	 * @param flags マッチフラグ
397 	 * @return 区切り文字形式データフィルタ
398 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
399 	 */
400 	public static ColumnNameRegexExpression regex(final String name, final String pattern, final int flags) {
401 		return new ColumnNameRegexExpression(name, pattern, flags);
402 	}
403 
404 	/**
405 	 * 指定された項目名に対応する区切り文字形式データの値が正規表現パターンとマッチするかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
406 	 * 
407 	 * @param name 項目名
408 	 * @param pattern 正規表現パターン
409 	 * @return 区切り文字形式データフィルタ
410 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
411 	 */
412 	public static ColumnNameRegexExpression regex(final String name, final Pattern pattern) {
413 		return new ColumnNameRegexExpression(name, pattern);
414 	}
415 
416 	/**
417 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値より大きいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
418 	 * 
419 	 * @param position 項目位置
420 	 * @param criteria 判定基準値
421 	 * @return 区切り文字形式データフィルタ
422 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
423 	 */
424 	public static ColumnPositionGreaterThanExpression gt(final int position, final String criteria) {
425 		return new ColumnPositionGreaterThanExpression(position, criteria);
426 	}
427 
428 	/**
429 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値より大きいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
430 	 * 
431 	 * @param name 項目名
432 	 * @param criteria 判定基準値
433 	 * @return 区切り文字形式データフィルタ
434 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
435 	 */
436 	public static ColumnNameGreaterThanExpression gt(final String name, final String criteria) {
437 		return new ColumnNameGreaterThanExpression(name, criteria);
438 	}
439 
440 	/**
441 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値より小さいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
442 	 * 
443 	 * @param position 項目位置
444 	 * @param criteria 判定基準値
445 	 * @return 区切り文字形式データフィルタ
446 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
447 	 */
448 	public static ColumnPositionLessThanExpression lt(final int position, final String criteria) {
449 		return new ColumnPositionLessThanExpression(position, criteria);
450 	}
451 
452 	/**
453 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値より小さいかどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
454 	 * 
455 	 * @param name 項目名
456 	 * @param criteria 判定基準値
457 	 * @return 区切り文字形式データフィルタ
458 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
459 	 */
460 	public static ColumnNameLessThanExpression lt(final String name, final String criteria) {
461 		return new ColumnNameLessThanExpression(name, criteria);
462 	}
463 
464 	/**
465 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値以上かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
466 	 * 
467 	 * @param position 項目位置
468 	 * @param criteria 判定基準値
469 	 * @return 区切り文字形式データフィルタ
470 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
471 	 */
472 	public static ColumnPositionGreaterThanOrEqualExpression ge(final int position, final String criteria) {
473 		return new ColumnPositionGreaterThanOrEqualExpression(position, criteria);
474 	}
475 
476 	/**
477 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値以上かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
478 	 * 
479 	 * @param name 項目名
480 	 * @param criteria 判定基準値
481 	 * @return 区切り文字形式データフィルタ
482 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
483 	 */
484 	public static ColumnNameGreaterThanOrEqualExpression ge(final String name, final String criteria) {
485 		return new ColumnNameGreaterThanOrEqualExpression(name, criteria);
486 	}
487 
488 	/**
489 	 * 指定された項目位置に対応する区切り文字形式データの値が判定基準値以下かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
490 	 * 
491 	 * @param position 項目位置
492 	 * @param criteria 判定基準値
493 	 * @return 区切り文字形式データフィルタ
494 	 * @throws IllegalArgumentException <code>criteria</code> が <code>null</code> の場合
495 	 */
496 	public static ColumnPositionLessThanOrEqualExpression le(final int position, final String criteria) {
497 		return new ColumnPositionLessThanOrEqualExpression(position, criteria);
498 	}
499 
500 	/**
501 	 * 指定された項目名に対応する区切り文字形式データの値が判定基準値以下かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
502 	 * 
503 	 * @param name 項目名
504 	 * @param criteria 判定基準値
505 	 * @return 区切り文字形式データフィルタ
506 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
507 	 */
508 	public static ColumnNameLessThanOrEqualExpression le(final String name, final String criteria) {
509 		return new ColumnNameLessThanOrEqualExpression(name, criteria);
510 	}
511 
512 	/**
513 	 * 指定された項目位置に対応する区切り文字形式データの値が下限値から上限値の範囲かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
514 	 * 
515 	 * @param position 項目位置
516 	 * @param low 下限値
517 	 * @param high 上限値
518 	 * @return 区切り文字形式データフィルタ
519 	 * @throws IllegalArgumentException <code>low</code> または <code>high</code> が <code>null</code> の場合
520 	 */
521 	public static ColumnPositionBetweenExpression between(final int position, final String low, final String high) {
522 		return new ColumnPositionBetweenExpression(position, low, high);
523 	}
524 
525 	/**
526 	 * 指定された項目名に対応する区切り文字形式データの値が下限値から上限値の範囲かどうかでフィルタを適用する区切り文字形式データフィルタを構築して返します。
527 	 * 
528 	 * @param name 項目名
529 	 * @param low 下限値
530 	 * @param high 上限値
531 	 * @return 区切り文字形式データフィルタ
532 	 * @throws IllegalArgumentException パラメータが <code>null</code> の場合
533 	 */
534 	public static ColumnNameBetweenExpression between(final String name, final String low, final String high) {
535 		return new ColumnNameBetweenExpression(name, low, high);
536 	}
537 
538 	/**
539 	 * 指定された区切り文字形式データの値リストでフィルタする区切り文字形式データフィルタ群の論理積でフィルタを適用する区切り文字形式データフィルタを構築して返します。
540 	 * 
541 	 * @param filters 論理積する区切り文字形式データフィルタ群
542 	 * @return 区切り文字形式データフィルタ
543 	 * @throws IllegalArgumentException <code>filters</code> が <code>null</code> の場合
544 	 */
545 	public static CsvValueLogicalExpression and(final CsvValueFilter... filters) {
546 		return new CsvValueAndExpression(filters);
547 	}
548 
549 	/**
550 	 * 指定された区切り文字形式データの項目名リストと値リストでフィルタする区切り文字形式データフィルタ群の論理積でフィルタを適用する区切り文字形式データフィルタを構築して返します。
551 	 * 
552 	 * @param filters 論理積する区切り文字形式データフィルタ群
553 	 * @return 区切り文字形式データフィルタ
554 	 * @throws IllegalArgumentException <code>filters</code> が <code>null</code> の場合
555 	 */
556 	public static CsvNamedValueLogicalExpression and(final CsvNamedValueFilter... filters) {
557 		return new CsvNamedValueAndExpression(filters);
558 	}
559 
560 	/**
561 	 * 指定された区切り文字形式データの値リストでフィルタする区切り文字形式データフィルタ群の論理和でフィルタを適用する区切り文字形式データフィルタを構築して返します。
562 	 * 
563 	 * @param filters 論理和する区切り文字形式データフィルタ群
564 	 * @return 区切り文字形式データフィルタ
565 	 * @throws IllegalArgumentException <code>filters</code> が <code>null</code> の場合
566 	 */
567 	public static CsvValueLogicalExpression or(final CsvValueFilter... filters) {
568 		return new CsvValueOrExpression(filters);
569 	}
570 
571 	/**
572 	 * 指定された区切り文字形式データの項目名リストと値リストでフィルタする区切り文字形式データフィルタ群の論理和でフィルタを適用する区切り文字形式データフィルタを構築して返します。
573 	 * 
574 	 * @param filters 論理和する区切り文字形式データフィルタ群
575 	 * @return 区切り文字形式データフィルタ
576 	 * @throws IllegalArgumentException <code>filters</code> が <code>null</code> の場合
577 	 */
578 	public static CsvNamedValueLogicalExpression or(final CsvNamedValueFilter... filters) {
579 		return new CsvNamedValueOrExpression(filters);
580 	}
581 
582 	/**
583 	 * 指定された区切り文字形式データの値リストでフィルタする区切り文字形式データフィルタの論理否定でフィルタを適用する区切り文字形式データフィルタを構築して返します。
584 	 * 
585 	 * @param filter 論理否定する区切り文字形式データフィルタ
586 	 * @return 区切り文字形式データフィルタ
587 	 * @throws IllegalArgumentException <code>filter</code> が <code>null</code> の場合
588 	 */
589 	public static CsvValueNotExpression not(final CsvValueFilter filter) {
590 		return new CsvValueNotExpression(filter);
591 	}
592 
593 	/**
594 	 * 指定された区切り文字形式データの項目名リストと値リストでフィルタする区切り文字形式データフィルタの論理否定でフィルタを適用する区切り文字形式データフィルタを構築して返します。
595 	 * 
596 	 * @param filter 論理否定する区切り文字形式データフィルタ
597 	 * @return 区切り文字形式データフィルタ
598 	 * @throws IllegalArgumentException <code>filter</code> が <code>null</code> の場合
599 	 */
600 	public static CsvNamedValueNotExpression not(final CsvNamedValueFilter filter) {
601 		return new CsvNamedValueNotExpression(filter);
602 	}
603 
604 }