package play.data.validation;
import net.sf.oval.Validator;
import net.sf.oval.configuration.annotation.AbstractAnnotationCheck;
import net.sf.oval.context.OValContext;
import net.sf.oval.exception.OValException;
public class IPv4AddressCheck extends AbstractAnnotationCheck<IPv4Address> {
final static String mes = "validation.ipv4";
@Override
public void configure(IPv4Address phone) {
setMessage(phone.message());
}
@Override
public boolean isSatisfied(Object validatedObject, Object value, OValContext context, Validator validator)
throws OValException {
if (value == null || value.toString().length() == 0) {
return true;
}
try {
String[] parts = value.toString().split("[.]");
for(int i=0; i<parts.length; i++) {
int p = Integer.valueOf(parts[i]);
if(p < 0 || p > 255) {
return false;
}
}
return true;
} catch (Exception e) {
return false;
}
}
}