import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.StyleSheetDocument;
-import javax.xml.namespace.QName;
return new XSSFCellBorder(borders.get((int)idx));
}
public long putBorder(XSSFCellBorder border) {
- return putBorder(border.getCTBorder());
- }
- public synchronized long putBorder(CTBorder border) {
- if(borders.contains(border)) {
- return borders.indexOf(border);
- }
- borders.add(border);
- return borders.size() - 1;
+ return putBorder(border, borders);
}
public XSSFCellFill getFillAt(long idx) {
return new XSSFCellFill(fills.get((int) idx));
}
public long putFill(XSSFCellFill fill) {
- return putFill(fill.getCTFill());
- }
- public synchronized long putFill(CTFill fill) {
- if (fills.contains(fill)) {
- return fills.indexOf(fill);
- }
- fills.add(fill);
- return fills.size() - 1;
+ return putFill(fill, fills);
}
/**
* For unit testing only
// Save
doc.save(out, options);
}
+
+ private long putBorder(XSSFCellBorder border, LinkedList<CTBorder> borders) {
+ return border.putBorder(borders);
+ }
+ private long putFill(XSSFCellFill fill, LinkedList<CTFill> fills) {
+ return fill.putFill(fills);
+ }
}
package org.apache.poi.xssf.usermodel.extensions;
+import java.util.LinkedList;
+
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle.Enum;
TOP, RIGHT, BOTTOM, LEFT
}
- /**
- * TODO - is this the best way to allow StylesTable
- * to record us?
- */
- public CTBorder getCTBorder() {
- return border;
+ public long putBorder(LinkedList<CTBorder> borders) {
+ if(borders.contains(border)) {
+ return borders.indexOf(border);
+ }
+ borders.add(border);
+ return borders.size() - 1;
}
public Enum getBorderStyle(BorderSides side) {
package org.apache.poi.xssf.usermodel.extensions;\r
\r
+import java.util.LinkedList;\r
+\r
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;\r
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill;\r
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPatternType.Enum;\r
public Enum getPatternType() {\r
return getPatternFill().getPatternType();\r
}\r
+ \r
+ public long putFill(LinkedList<CTFill> fills) {\r
+ if (fills.contains(fill)) {\r
+ return fills.indexOf(fill);\r
+ }\r
+ fills.add(fill);\r
+ return fills.size() - 1;\r
+ }\r
\r
private CTPatternFill getPatternFill() {\r
CTPatternFill patternFill = fill.getPatternFill();\r
private StylesTable stylesTable;
private CTBorder ctBorderA;
- private CTBorder ctBorderB;
private CTFill ctFill;
private CTXf cellStyleXf;
private CTXf cellXf;
// Until we do XSSFBorder properly, cheat
ctBorderA = CTBorder.Factory.newInstance();
- long borderId = stylesTable.putBorder(ctBorderA);
+ XSSFCellBorder borderA = new XSSFCellBorder(ctBorderA);
+ long borderId = stylesTable.putBorder(borderA);
assertEquals(0, borderId);
XSSFCellBorder borderB = new XSSFCellBorder();
- ctBorderB = borderB.getCTBorder();
assertEquals(1, stylesTable.putBorder(borderB));
ctFill = CTFill.Factory.newInstance();