for (int i = firstCol; i <= lastCol; i++) {
CellAddress cell = new CellAddress(row, i);
// if BORDER_TOP is not set on BorderPropertyTemplate, make a thin border so that there's something to color
- if (getTemplateProperty(cell, CellUtil.BORDER_TOP) == null) {
+ if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_TOP)) {
drawTopBorder(new CellRangeAddress(row, row, i, i), BorderStyle.THIN);
}
addProperty(cell, CellUtil.TOP_BORDER_COLOR, color);
for (int i = firstCol; i <= lastCol; i++) {
CellAddress cell = new CellAddress(row, i);
// if BORDER_BOTTOM is not set on BorderPropertyTemplate, make a thin border so that there's something to color
- if (getTemplateProperty(cell, CellUtil.BORDER_BOTTOM) == null) {
+ if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_BOTTOM)) {
drawBottomBorder(new CellRangeAddress(row, row, i, i), BorderStyle.THIN);
}
addProperty(cell, CellUtil.BOTTOM_BORDER_COLOR, color);
for (int i = firstRow; i <= lastRow; i++) {
CellAddress cell = new CellAddress(i, col);
// if BORDER_LEFT is not set on BorderPropertyTemplate, make a thin border so that there's something to color
- if (getTemplateProperty(cell, CellUtil.BORDER_LEFT) == null) {
+ if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_LEFT)) {
drawLeftBorder(new CellRangeAddress(i, i, col, col), BorderStyle.THIN);
}
addProperty(cell, CellUtil.LEFT_BORDER_COLOR, color);
}
}
+ /**
+ * A helper method to set the border line style before setting the color if the
+ * current line style is not set or is set as NONE
+ */
+ private boolean borderIsNotSetOrBlank(CellAddress cell, String borderDirection) {
+ Object borderLineStyle = getTemplateProperty(cell, borderDirection);
+ return (borderLineStyle == null);
+ }
+
/**
* <p>
* Sets the color of the right border for a range of cells. If the border is
for (int i = firstRow; i <= lastRow; i++) {
CellAddress cell = new CellAddress(i, col);
// if BORDER_RIGHT is not set on BorderPropertyTemplate, make a thin border so that there's something to color
- if (getTemplateProperty(cell, CellUtil.BORDER_RIGHT) == null) {
+ if (borderIsNotSetOrBlank(cell, CellUtil.BORDER_RIGHT)) {
drawRightBorder(new CellRangeAddress(i, i, col, col), BorderStyle.THIN);
}
addProperty(cell, CellUtil.RIGHT_BORDER_COLOR, color);