package org.gcube.accounting.datamodel.validators; import java.io.Serializable; import org.gcube.accounting.datamodel.UsageRecord.OperationResult; import org.gcube.accounting.datamodel.annotations.ValidOperationResult; public class ValidOperationResultValidator implements FieldValidator{ public Class annotation() { return ValidOperationResult.class; } public boolean isValid(Serializable toValidate) { if(toValidate instanceof OperationResult){ return true; } try { OperationResult operationResult = OperationResult.valueOf((String) toValidate); if(operationResult !=null){ return true; } }catch(Exception e){} return false; } public String getErrorSuffix() { return String.format("not instace of %s", OperationResult.class.getSimpleName()); } }