aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2014-10-30 16:19:54 +0000
committerNick Burch <nick@apache.org>2014-10-30 16:19:54 +0000
commit4cb616f1f32ea4bc45782427696ead4cfa806c61 (patch)
treea417f8da8a3f00812eb96645637ecaff279b615f /src
parentc3753981dd89fe172cd4daee76f431500902d69f (diff)
downloadpoi-4cb616f1f32ea4bc45782427696ead4cfa806c61.tar.gz
poi-4cb616f1f32ea4bc45782427696ead4cfa806c61.zip
Add missing HSSFWorkbook constructor javadocs #57166
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1635533 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java51
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java23
2 files changed, 58 insertions, 16 deletions
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
index 51d4b48ba1..3f3bedfd01 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
@@ -184,20 +184,30 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
this(InternalWorkbook.createWorkbook());
}
- private HSSFWorkbook(InternalWorkbook book) {
- super((DirectoryNode)null);
- workbook = book;
- _sheets = new ArrayList<HSSFSheet>(INITIAL_CAPACITY);
- names = new ArrayList<HSSFName>(INITIAL_CAPACITY);
- }
+ private HSSFWorkbook(InternalWorkbook book) {
+ super((DirectoryNode)null);
+ workbook = book;
+ _sheets = new ArrayList<HSSFSheet>(INITIAL_CAPACITY);
+ names = new ArrayList<HSSFName>(INITIAL_CAPACITY);
+ }
+ /**
+ * Given a POI POIFSFileSystem object, read in its Workbook along
+ * with all related nodes, and populate the high and low level models.
+ * <p>This calls {@link #HSSFWorkbook(POIFSFileSystem, boolean)} with
+ * preserve nodes set to true.
+ *
+ * @see #HSSFWorkbook(POIFSFileSystem, boolean)
+ * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+ * @exception IOException if the stream cannot be read
+ */
public HSSFWorkbook(POIFSFileSystem fs) throws IOException {
this(fs,true);
}
/**
- * given a POI POIFSFileSystem object, read in its Workbook and populate the high and
- * low level models. If you're reading in a workbook...start here.
+ * Given a POI POIFSFileSystem object, read in its Workbook and populate
+ * the high and low level models. If you're reading in a workbook... start here!
*
* @param fs the POI filesystem that contains the Workbook stream.
* @param preserveNodes whether to preseve other nodes, such as
@@ -208,8 +218,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* @exception IOException if the stream cannot be read
*/
public HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)
- throws IOException
- {
+ throws IOException {
this(fs.getRoot(), fs, preserveNodes);
}
@@ -338,13 +347,24 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
}
}
- public HSSFWorkbook(InputStream s) throws IOException {
- this(s,true);
- }
+ /**
+ * Companion to HSSFWorkbook(POIFSFileSystem), this constructs the
+ * POI filesystem around your inputstream, including all nodes.
+ * <p>This calls {@link #HSSFWorkbook(InputStream, boolean)} with
+ * preserve nodes set to true.
+ *
+ * @see #HSSFWorkbook(InputStream, boolean)
+ * @see #HSSFWorkbook(POIFSFileSystem)
+ * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+ * @exception IOException if the stream cannot be read
+ */
+ public HSSFWorkbook(InputStream s) throws IOException {
+ this(s,true);
+ }
/**
- * Companion to HSSFWorkbook(POIFSFileSystem), this constructs the POI filesystem around your
- * inputstream.
+ * Companion to HSSFWorkbook(POIFSFileSystem), this constructs the
+ * POI filesystem around your inputstream.
*
* @param s the POI filesystem that contains the Workbook stream.
* @param preserveNodes whether to preseve other nodes, such as
@@ -354,7 +374,6 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
* @see #HSSFWorkbook(POIFSFileSystem)
* @exception IOException if the stream cannot be read
*/
-
public HSSFWorkbook(InputStream s, boolean preserveNodes)
throws IOException
{
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
index a813bce816..bfdacbd391 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
@@ -166,6 +166,29 @@ public final class TestXSSFFormulaEvaluation extends BaseTestFormulaEvaluator {
assertEquals("\"Hello!\"", evaluator.evaluate(cXSL_cell).formatAsString());
assertEquals("\"Test A1\"", evaluator.evaluate(cXSL_sNR).formatAsString());
assertEquals("142.0", evaluator.evaluate(cXSL_gNR).formatAsString());
+
+
+ // Now add a formula that refers to a different workbook again
+ Cell cXSLX_nw_cell = rXSLX.createCell(42);
+ cXSLX_nw_cell.setCellFormula("[alt.xslx]Sheet1!$A$1");
+
+ // Check it - TODO Is this correct? Or should it become [2]Sheet1!$A$1 ?
+ assertEquals("[alt.xslx]Sheet1!$A$1", cXSLX_nw_cell.getCellFormula());
+
+ // Evaluate it, without a link to that workbook
+ try {
+ evaluator.evaluate(cXSLX_nw_cell);
+ fail("No cached value and no link to workbook, shouldn't evaluate");
+ } catch(Exception e) {}
+
+ // Add a link, check it does
+ Workbook alt = new XSSFWorkbook();
+ alt.createSheet().createRow(0).createCell(0).setCellValue("In another workbook");
+ evaluators.put("alt.xslx", alt.getCreationHelper().createFormulaEvaluator());
+ evaluator.setupReferencedWorkbooks(evaluators);
+
+ evaluator.evaluate(cXSLX_nw_cell);
+ assertEquals("In another workbook", cXSLX_nw_cell.getStringCellValue());
}
/**