package org.gcube.accounting.datamodel.validators; import java.io.Serializable; import org.gcube.accounting.datamodel.annotations.ValidLong; import org.gcube.accounting.exception.InvalidValueException; public class ValidLongValidator implements FieldValidator{ public Class annotation() { return ValidLong.class; } public boolean isValid(Serializable toValidate) { try { validate(toValidate); } catch (InvalidValueException e) { return false; } return true; } public Serializable validate(Serializable toValidate) throws InvalidValueException { if(toValidate instanceof Long){ return toValidate; } Long longObj = Long.getLong((String) toValidate); if(longObj!=null){ return longObj; } return false; } public String getErrorSuffix() { return String.format("not instace of %s", Long.class.getSimpleName()); } }