git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@727469 13f79535-47bb-0310-9956-ffa450edef68tags/REL_3_5_BETA5
@@ -37,6 +37,7 @@ | |||
<!-- 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> |
@@ -34,6 +34,7 @@ | |||
<!-- 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> |
@@ -127,10 +127,26 @@ public class HSSFCell implements Cell { | |||
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. |
@@ -233,6 +233,16 @@ public final class HSSFRow implements Comparable, Row { | |||
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 |
@@ -128,6 +128,14 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { | |||
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 |
@@ -98,6 +98,13 @@ public interface Cell { | |||
*/ | |||
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) | |||
* |
@@ -183,6 +183,13 @@ public interface Row extends Iterable<Cell> { | |||
*/ | |||
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 |
@@ -712,4 +712,11 @@ public interface Sheet extends Iterable<Row> { | |||
*/ | |||
Drawing createDrawingPatriarch(); | |||
/** | |||
* Return the parent workbook | |||
* | |||
* @return the parent workbook | |||
*/ | |||
Workbook getWorkbook(); | |||
} |
@@ -545,4 +545,30 @@ public final class TestWorkbook extends TestCase { | |||
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()); | |||
} | |||
} |