import org.apache.poi.hssf.record.common.ExtendedColor;
import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.util.Internal;
public class HSSFCreationHelper implements CreationHelper {
- private HSSFWorkbook workbook;
- private HSSFDataFormat dataFormat;
+ private final HSSFWorkbook workbook;
- HSSFCreationHelper(HSSFWorkbook wb) {
+ /**
+ * Should only be called by {@link HSSFWorkbook#getCreationHelper()}
+ *
+ * @param wb the workbook to create objects for
+ */
+ @Internal(since="3.15 beta 3")
+ /*package*/ HSSFCreationHelper(HSSFWorkbook wb) {
workbook = wb;
-
- // Create the things we only ever need one of
- dataFormat = new HSSFDataFormat(workbook.getWorkbook());
}
+ @Override
public HSSFRichTextString createRichTextString(String text) {
return new HSSFRichTextString(text);
}
+ @Override
public HSSFDataFormat createDataFormat() {
- return dataFormat;
+ return workbook.createDataFormat();
}
+ @Override
public HSSFHyperlink createHyperlink(int type) {
return new HSSFHyperlink(type);
}
+ @Override
public HSSFExtendedColor createExtendedColor() {
return new HSSFExtendedColor(new ExtendedColor());
}
*
* @return a HSSFFormulaEvaluator instance
*/
+ @Override
public HSSFFormulaEvaluator createFormulaEvaluator(){
return new HSSFFormulaEvaluator(workbook);
}
* @return a HSSFClientAnchor instance
* @see org.apache.poi.ss.usermodel.Drawing
*/
+ @Override
public HSSFClientAnchor createClientAnchor(){
return new HSSFClientAnchor();
}
*/
ExtendedColor createExtendedColor();
+ /**
+ * Creates a ClientAnchor. Use this object to position drawing object in a sheet
+ *
+ * @return a ClientAnchor instance
+ * @see org.apache.poi.ss.usermodel.Drawing
+ */
ClientAnchor createClientAnchor();
}
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.ExtendedColor;
import org.apache.poi.ss.usermodel.Hyperlink;
+import org.apache.poi.util.Internal;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFCreationHelper;
* regular XSSF Workbook
*/
public class SXSSFCreationHelper implements CreationHelper {
- private static POILogger logger = POILogFactory.getLogger(SXSSFCreationHelper.class);
+ private static final POILogger logger = POILogFactory.getLogger(SXSSFCreationHelper.class);
- private SXSSFWorkbook wb;
- private XSSFCreationHelper helper;
+ private final SXSSFWorkbook wb;
+ private final XSSFCreationHelper helper;
+ /**
+ * Should only be called by {@link SXSSFWorkbook#getCreationHelper()}
+ *
+ * @param workbook the workbook to create objects for
+ */
+ @Internal
public SXSSFCreationHelper(SXSSFWorkbook workbook) {
this.helper = new XSSFCreationHelper(workbook.getXSSFWorkbook());
this.wb = workbook;
}
+ @Override
public XSSFRichTextString createRichTextString(String text) {
logger.log(POILogger.INFO, "SXSSF doesn't support Rich Text Strings, any formatting information will be lost");
return new XSSFRichTextString(text);
}
+ @Override
public SXSSFFormulaEvaluator createFormulaEvaluator() {
return new SXSSFFormulaEvaluator(wb);
}
// Pass-through methods
+ @Override
public DataFormat createDataFormat() {
return helper.createDataFormat();
}
+ @Override
public Hyperlink createHyperlink(int type) {
return helper.createHyperlink(type);
}
+ @Override
public ExtendedColor createExtendedColor() {
return helper.createExtendedColor();
}
+ @Override
public ClientAnchor createClientAnchor() {
return helper.createClientAnchor();
}
import org.apache.poi.util.Internal;
public class XSSFCreationHelper implements CreationHelper {
- private XSSFWorkbook workbook;
+ private final XSSFWorkbook workbook;
+ /**
+ * Should only be called by {@link XSSFWorkbook#getCreationHelper()}
+ *
+ * @param wb the workbook to create objects for
+ */
@Internal
public XSSFCreationHelper(XSSFWorkbook wb) {
workbook = wb;
/**
* Creates a new XSSFRichTextString for you.
*/
+ @Override
public XSSFRichTextString createRichTextString(String text) {
XSSFRichTextString rt = new XSSFRichTextString(text);
rt.setStylesTableReference(workbook.getStylesSource());
return rt;
}
+ @Override
public XSSFDataFormat createDataFormat() {
return workbook.createDataFormat();
}
+ @Override
public XSSFColor createExtendedColor() {
return new XSSFColor();
}
*
* @param type - the type of hyperlink to create, see {@link Hyperlink}
*/
+ @Override
public XSSFHyperlink createHyperlink(int type) {
return new XSSFHyperlink(type);
}
*
* @return a XSSFFormulaEvaluator instance
*/
+ @Override
public XSSFFormulaEvaluator createFormulaEvaluator() {
return new XSSFFormulaEvaluator(workbook);
}
* @return a XSSFClientAnchor instance
* @see org.apache.poi.ss.usermodel.Drawing
*/
+ @Override
public XSSFClientAnchor createClientAnchor() {
return new XSSFClientAnchor();
}