package chiralsoftware.exceltobarcode;
import java.util.Comparator;
/**
* Every line has a configuration which includes which column number it
* corresponds to, and how it is displayed: text or barcode. Later on we will
* add options such as which type of barcode, text font, text alignment, etc.
*/
final class LineConfiguration {
private final int columnNumber;
private final int lineNumber;
private final LineType lineType;
public LineConfiguration(int columnNumber, int lineNumber, LineType lineType) {
if (lineType == null) {
throw new NullPointerException("Line type was null");
}
this.columnNumber = columnNumber;
this.lineType = lineType;
this.lineNumber = lineNumber;
}
public int getColumnNumber() {
return columnNumber;
}
public int getLineNumber() {
return lineNumber;
}
public LineType getLineType() {
return lineType;
}
@Override
public String toString() {
return "LineConfiguration{" + "columnNumber=" + columnNumber + ", "
+ "lineNumber=" + lineNumber + ", lineType=" + lineType + '}';
}
static final Comparator<LineConfiguration> sortByLineNumber
= new Comparator<LineConfiguration>() {
@Override
public int compare(LineConfiguration arg0, LineConfiguration arg1) {
return arg0.getLineNumber() - arg1.getLineNumber();
}
};
}