<!-- Don't forget to update status.xml too! -->
<release version="3.5-beta5" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="add">Added getters to parent objects: HSSFSheet.getWorkbook(), HSSFRow.getSheet() and HSSFCell.getRow()</action>
<action dev="POI-DEVELOPERS" type="fix">46385 - (also patch 46362) fix serialization of StyleRecord with unicode name</action>
<action dev="POI-DEVELOPERS" type="fix">46368 - Fix HSSFRichTextRun and strings longer than 32768 characters</action>
<action dev="POI-DEVELOPERS" type="add">Support sheet-level names</action>
<!-- Don't forget to update changes.xml too! -->
<changes>
<release version="3.5-beta5" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="add">Added getters to parent objects: HSSFSheet.getWorkbook(), HSSFRow.getSheet() and HSSFCell.getRow()</action>
<action dev="POI-DEVELOPERS" type="fix">46385 - (also patch 46362) fix serialization of StyleRecord with unicode name</action>
<action dev="POI-DEVELOPERS" type="fix">46368 - Fix HSSFRichTextRun and strings longer than 32768 characters</action>
<action dev="POI-DEVELOPERS" type="add">Support sheet-level names</action>
short xfindex = sheet.getSheet().getXFIndexForColAt(col);
setCellType(CELL_TYPE_BLANK, false, row, col,xfindex);
}
+
+ /**
+ * Returns the HSSFSheet this cell belongs to
+ *
+ * @return the HSSFSheet that owns this cell
+ */
public HSSFSheet getSheet() {
return sheet;
}
+ /**
+ * Returns the HSSFRow this cell belongs to
+ *
+ * @return the HSSFRow that owns this cell
+ */
+ public HSSFRow getRow() {
+ int rowIndex = getRowIndex();
+ return sheet.getRow(rowIndex);
+ }
+
/**
* Creates new Cell - Should only be called by HSSFRow. This creates a cell
* from scratch.
return rowNum;
}
+ /**
+ * Returns the HSSFSheet this row belongs to
+ *
+ * @return the HSSFSheet that owns this row
+ */
+ public HSSFSheet getSheet()
+ {
+ return sheet;
+ }
+
/**
* Returns the rows outline level. Increased as you
* put it into more groups (outlines), reduced as
return new HSSFSheet(workbook, sheet.cloneSheet());
}
+ /**
+ * Return the parent workbook
+ *
+ * @return the parent workbook
+ */
+ public HSSFWorkbook getWorkbook(){
+ return workbook;
+ }
/**
* used internally to set the properties given a Sheet object
*/
Sheet getSheet();
+ /**
+ * Returns the Row this cell belongs to
+ *
+ * @return the Row that owns this cell
+ */
+ Row getRow();
+
/**
* Set the cells type (numeric, formula or string)
*
*/
Iterator<Cell> cellIterator();
+ /**
+ * Returns the Sheet this row belongs to
+ *
+ * @return the Sheet that owns this row
+ */
+ Sheet getSheet();
+
/**
* Used to specify the different possible policies
* if for the case of null and blank cells
*/
Drawing createDrawingPatriarch();
+
+ /**
+ * Return the parent workbook
+ *
+ * @return the parent workbook
+ */
+ Workbook getWorkbook();
}
assertTrue("file exists",file.exists());
}
+
+ public void testParentReferences(){
+ HSSFWorkbook workbook = new HSSFWorkbook();
+ HSSFSheet sheet = workbook.createSheet();
+ assertSame(workbook, sheet.getWorkbook());
+
+ HSSFRow row = sheet.createRow(0);
+ assertSame(sheet, row.getSheet());
+
+ HSSFCell cell = row.createCell(1);
+ assertSame(sheet, cell.getSheet());
+ assertSame(row, cell.getRow());
+
+ workbook = HSSFTestDataSamples.writeOutAndReadBack(workbook);
+ sheet = workbook.getSheetAt(0);
+ assertSame(workbook, sheet.getWorkbook());
+
+ row = sheet.getRow(0);
+ assertSame(sheet, row.getSheet());
+
+ cell = row.getCell(1);
+ assertSame(sheet, cell.getSheet());
+ assertSame(row, cell.getRow());
+
+
+ }
}