package husacct.validate.domain.validation.internaltransferobjects; import java.util.ArrayList; import java.util.Arrays; public class Mapping { private final String logicalPath; private final String physicalPath; private final String logicalPathType; private String[] violationTypes; public Mapping(String logicalPath, String logicalPathType, String physicalPath, String[] violationTypes) { this.logicalPath = logicalPath; this.physicalPath = physicalPath; this.logicalPathType = logicalPathType; this.violationTypes = violationTypes; } public Mapping(String physicalPath, String[] violationTypes) { this.logicalPath = ""; this.physicalPath = physicalPath; this.logicalPathType = ""; this.violationTypes = violationTypes; } public String getLogicalPath() { return logicalPath; } public String getPhysicalPath() { return physicalPath; } public String getLogicalPathType() { return logicalPathType; } public String[] getViolationTypes() { return violationTypes; } public void removeViolationType(String violationType) { ArrayList<String> violationTypeList = new ArrayList<String>(); violationTypeList.addAll(Arrays.asList(violationTypes)); for (int i = 0; i < violationTypeList.size(); i++) { if (violationTypeList.get(i).toLowerCase().equals(violationType.toLowerCase())) { violationTypeList.remove(i); i--; } } violationTypes = violationTypeList.toArray(new String[] {}); } @Override public String toString() { String mappingRepresentation = ""; mappingRepresentation += "\nLogicalPath: " + logicalPath; mappingRepresentation += "\nPhysicalPath: " + physicalPath; mappingRepresentation += "\nLogicalPathType: " + logicalPathType; for (String vt : violationTypes){ mappingRepresentation += "\nViolationType: " + vt; } mappingRepresentation += "\n"; return mappingRepresentation; } }