У меня есть этот код:
FVDTO.setStatus("fail");
List<String[]> invalidFields = new ArrayList<String[]>();
Iterator<ConstraintViolation<HazardSubmission>> iterator = cv.iterator();
while(iterator.hasNext()) {
ConstraintViolation<HazardSubmission> i = iterator.next();
String property = i.getPropertyPath().toString();
String message = i.getMessage();
invalidFields.add(new String[] { property, message });
}
FVDTO.setInvalidFields(invalidFields);
return new JsonResolution(FVDTO);
Я взял некоторые, чтобы сохранить вещи СУХИМЫМИ, чтобы затем использовать их с другими классами, т. Е. HazardSubmission - это один класс, а будут и другие. Приведенный ниже код показывает мою попытку, очевидно, приведение вручную <HazardSubmission>
здесь не сработает, оно должно быть похоже на o.getClass();
public static List<String[]> GetInvalidProperties(Set<ConstraintViolation<Object>> cv, Object o) {
List<String[]> invalidFields = new ArrayList<String[]>();
Iterator<ConstraintViolation<HazardSubmission>> iterator = cv.iterator();
while(iterator.hasNext()) {
ConstraintViolation<HazardSubmission> i = iterator.next();
String property = i.getPropertyPath().toString();
String message = i.getMessage();
invalidFields.add(new String[] { property, message });
}
}
Второй блок кода дает сбой, потому что я действительно не знаю, что я делаю, я хочу передать cv для параметра 1 с общим типом объекта, а затем каким-то образом передать тип как второй параметр.
Не могли бы вы кто-нибудь объяснить, как это сделать?