I setup a javax.xml.bind.ValidationEventHandler which listens for xml validation errors when unmarshalling an xml document.
Is there really a need to check if the List of errors isEmpty()?
Or should I remove it and just have the for loop?
I'm not sure if the for loop is any way more expensive than a simple if statement.
T instance = (T) unmarshaller.unmarshal(..);
if (!eventHandler.getErrors().isEmpty()) {
for (XSDValidationEventHandler.Error error : eventHandler.getErrors()) {
// extract error, and log it
}
}
XSDValidationEventHandler.java, custom ValidationEventHandler implementation:
public class XSDValidationEventHandler implements javax.xml.bind.ValidationEventHandler {
private List<Error> errors = new ArrayList<Error>();
@Override
public boolean handleEvent(ValidationEvent event) {
final Error error = new Error(event.getLocator().getLineNumber(), event.getMessage());
errors.add(error);
return true;
}
..
public class Error {
private int lineNumber;
private String message;
public Error(int lineNumber, String message) {
this.lineNumber = lineNumber;
this.message = message;
}
}
}
java.lang, such asError.