package org.ovirt.engine.core.utils.violation;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import org.ovirt.engine.core.utils.ReplacementUtils;
public final class Violation implements ViolationRenderer {
static final String LIST_SUFFIX = "_LIST";
private final String violationName;
private final Set<String> violatingEntities;
public Violation(String violationName, String violatingEntities) {
Objects.requireNonNull(violationName, "violationName cannot be null");
Objects.requireNonNull(violatingEntities, "violatingEntities cannot be null");
this.violationName = violationName;
this.violatingEntities = new LinkedHashSet<>();
this.violatingEntities.add(violatingEntities);
}
@Override
public List<String> render() {
final List<String> violationMessages = new ArrayList<>();
violationMessages.add(violationName);
violationMessages.addAll(ReplacementUtils.replaceWith(violationName + LIST_SUFFIX, violatingEntities));
return violationMessages;
}
public void add(String violatingEntity) {
violatingEntities.add(violatingEntity);
}
}