View Javadoc

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 MaxSizeValidator extends BaseValidator {
8   
9   	private final int max;
10  
11  	public MaxSizeValidator(final int max) {
12  		this(max, "valid.maxSize");
13  	}
14  
15  	public MaxSizeValidator(final int max, final String messageKey) {
16  		this.max = max;
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 <= max) {
27  			return null;
28  		} else {
29  			return getMessage(getPropertyMessage(ctx.getName()), max);
30  		}
31  	}
32  }