package org.javabuilders.handler.validation;
import java.util.LinkedList;
/**
* List of validation messages
* @author Jacek Furmankiewicz
*/
@SuppressWarnings("serial")
public class ValidationMessageList extends LinkedList<ValidationMessage> {
/* (non-Javadoc)
* @see java.util.LinkedList#add(java.lang.Object)
*/
@Override
public boolean add(ValidationMessage o) {
boolean duplicate = false;
//add only if not a duplicate
for(ValidationMessage msg : this) {
if (msg.getProperty() != null) {
if (msg.getProperty().equals(o.getProperty()) && msg.getMessage().equals(o.getMessage())) {
duplicate = true;
break;
}
}
}
if (duplicate) {
return false;
} else {
return super.add(o);
}
}
/* (non-Javadoc)
* @see java.util.AbstractCollection#toString()
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
for(ValidationMessage msg : this) {
builder.append(msg.getMessage()).append("\n");
}
return builder.toString();
}
}