1 package org.seasar.cubby.validator.validators;
2
3 import org.seasar.cubby.util.CubbyUtils;
4 import org.seasar.cubby.validator.BaseValidator;
5 import org.seasar.cubby.validator.ValidationContext;
6
7 public class MinSizeValidator extends BaseValidator {
8
9 private final int min;
10
11 public MinSizeValidator(final int min) {
12 this(min, "valid.minSize");
13 }
14
15 public MinSizeValidator(final int min, final String messageKey) {
16 this.min = min;
17 this.setMessageKey(messageKey);
18 }
19
20 public String validate(final ValidationContext ctx) {
21 final Object value = ctx.getValue();
22 if (value == null) {
23 return null;
24 }
25 int size = CubbyUtils.getObjectSize(value);
26 if (size >= min) {
27 return null;
28 } else {
29 return getMessage(getPropertyMessage(ctx.getName()), min);
30 }
31 }
32 }