1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.batch.sample.domain.order.internal.valang;
18
19 import java.util.List;
20
21 import org.springframework.batch.sample.domain.order.LineItem;
22 import org.springmodules.validation.valang.functions.AbstractFunction;
23 import org.springmodules.validation.valang.functions.Function;
24
25
26
27
28
29
30 public class ValidateIdsFunction extends AbstractFunction {
31 private static final long MAX_ID = 9999999999L;
32
33 public ValidateIdsFunction(Function[] arguments, int line, int column) {
34 super(arguments, line, column);
35 definedExactNumberOfArguments(1);
36 }
37
38
39
40
41 @SuppressWarnings("unchecked")
42 protected Object doGetResult(Object target) throws Exception {
43 List<LineItem> lineItems = (List<LineItem>) getArguments()[0].getResult(target);
44
45 for (LineItem item : lineItems) {
46
47 if ((item.getItemId() <= 0) || (item.getItemId() > MAX_ID)) {
48 return Boolean.FALSE;
49 }
50 }
51
52 return Boolean.TRUE;
53 }
54 }