Browse Source

Added getters to parent objects: HSSFSheet.getWorkbook(), HSSFRow.getSheet() and HSSFCell.getRow()

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@727469 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_5_BETA5
Yegor Kozlov 15 years ago
parent
commit
224e112b2a

+ 1
- 0
src/documentation/content/xdocs/changes.xml View File

@@ -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>

+ 1
- 0
src/documentation/content/xdocs/status.xml View File

@@ -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>

+ 16
- 0
src/java/org/apache/poi/hssf/usermodel/HSSFCell.java View File

@@ -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.

+ 10
- 0
src/java/org/apache/poi/hssf/usermodel/HSSFRow.java View File

@@ -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

+ 8
- 0
src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java View File

@@ -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

+ 7
- 0
src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Cell.java View File

@@ -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)
*

+ 7
- 0
src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Row.java View File

@@ -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

+ 7
- 0
src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Sheet.java View File

@@ -712,4 +712,11 @@ public interface Sheet extends Iterable<Row> {
*/
Drawing createDrawingPatriarch();


/**
* Return the parent workbook
*
* @return the parent workbook
*/
Workbook getWorkbook();
}

+ 26
- 0
src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java View File

@@ -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());


}
}

Loading…
Cancel
Save