--- HSSFWorkbook.java Tue Sep 30 16:32:37 2008 700479 +++ HSSFWorkbook.java Tue Sep 30 16:43:14 2008 @@ -235,0 +236,15 @@ + * This method is invoked by all HSSFWorkbook constructors with IO access + * when a new sheet must be created. + * ## Override this in derived classes for custom derived sheet classes ## + * Just pass on the parameters to an HSSFSheet-derived-class constructor + * @param pBook - The HSSF Workbook object associated with the sheet. + * @param pSheet - lowlevel Sheet object this sheet will represent + * @return a new HSSFSheet + */ + protected HSSFSheet HSSFSheetFactory (HSSFWorkbook pBook, Sheet pSheet) + { + return new HSSFSheet (pBook, pSheet); + } + + + /** @@ -283 +298 @@ - _sheets.add(new HSSFSheet(this, sheet)); + _sheets.add(HSSFSheetFactory(this, sheet)); @@ -627,0 +643,2 @@ + * You can override this in derived classes for custom derived sheet classes, + * but it's not necessary, as createSheet(String) is used. @@ -634 +651,9 @@ - HSSFSheet sheet = new HSSFSheet(this); + // HSSFSheet sheet = new HSSFSheet(this); + // + // _sheets.add(sheet); + // workbook.setSheetName(_sheets.size() - 1, "Sheet" + (_sheets.size() - 1)); + // boolean isOnlySheet = _sheets.size() == 1; + // sheet.setSelected(isOnlySheet); + // sheet.setActive(isOnlySheet); + // return sheet; + return createSheet (null); } @@ -636,8 +660,0 @@ - _sheets.add(sheet); - workbook.setSheetName(_sheets.size() - 1, "Sheet" + (_sheets.size() - 1)); - boolean isOnlySheet = _sheets.size() == 1; - sheet.setSelected(isOnlySheet); - sheet.setActive(isOnlySheet); - return sheet; - } - @@ -729,0 +747 @@ + * ## Override this in derived classes for custom derived sheet classes ## @@ -738,0 +757 @@ + @@ -741,11 +760,11 @@ - if (workbook.doesContainsSheetName( sheetname, _sheets.size() )) - throw new IllegalArgumentException( "The workbook already contains a sheet of this name" ); - - HSSFSheet sheet = new HSSFSheet(this); - - _sheets.add(sheet); - workbook.setSheetName(_sheets.size() - 1, sheetname); - boolean isOnlySheet = _sheets.size() == 1; - sheet.setSelected(isOnlySheet); - sheet.setActive(isOnlySheet); - return sheet; + // if (workbook.doesContainsSheetName( sheetname, _sheets.size() )) + // throw new IllegalArgumentException( "The workbook already contains a sheet of this name" ); + // + // HSSFSheet sheet = new HSSFSheet(this); + // + // _sheets.add(sheet); + // workbook.setSheetName(_sheets.size() - 1, sheetname); + // boolean isOnlySheet = _sheets.size() == 1; + // sheet.setSelected(isOnlySheet); + // sheet.setActive(isOnlySheet); + return new HSSFSheet(this, sheetname);