Eclipse get me compilation errors after write my code.
I don't understand why not accept ErrorFieldCustom parameter on ErrorCustom (on new constructor in main) whether ErrorFieldCustom extends ErrorMessageCustom.
public static void main(String[] args) {
Set<ErrorFieldCustom> errorsCustom = new HashSet<>();
ErrorCustom error = new ErrorCustom(errorsCustom); // compilation error is here
}
public class ErrorCustom {
private Set<ErrorMessageCustom> errors;
public ErrorCustom(Set<ErrorMessageCustom> errors) {
this.errors = errors;
}
public Set<ErrorMessageCustom> getErrors() {
return errors;
}
}
public class ErrorMessageCustom {
protected String message;
public ErrorMessageCustom(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
public class ErrorFieldCustom extends ErrorMessageCustom {
private String field;
public ErrorFieldCustom(FieldError error) {
super(error.getDefaultMessage());
this.field = error.getField();
}
public String getField() {
return field;
}
}