package ca.concordia.cssanalyser.io;
import java.util.ArrayList;
import java.util.List;
public class CSVColumns {
private String separator = "|";
private final List<String> columns;
public CSVColumns(String... columns) {
this.columns = new ArrayList<>();
for (String column : columns) {
this.columns.add(column);
}
}
public void setSeparator(String separator) {
this.separator = separator;
}
public String getSeparator() {
return this.separator;
}
public void addColumn(String columnName) {
this.columns.add(columnName);
}
public String getHeader(boolean addLineSeparator) {
StringBuilder toReturn = new StringBuilder();
for (int i = 0; i < columns.size(); i++) {
toReturn.append(columns.get(i));
if (i < columns.size() - 1) {
toReturn.append(this.separator);
} else {
if (addLineSeparator) {
toReturn.append(System.lineSeparator());
}
}
}
return toReturn.toString();
}
public String getRowFormat(boolean addLineSeparator) {
StringBuilder toReturn = new StringBuilder();
for (int i = 0; i < columns.size(); i++) {
toReturn.append("%s");
if (i < columns.size() - 1) {
toReturn.append(separator);
} else {
if (addLineSeparator) {
toReturn.append(System.lineSeparator());
}
}
}
return toReturn.toString();
}
}