aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/poi/hssf/model/Workbook.java
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2008-02-01 16:52:58 +0000
committerNick Burch <nick@apache.org>2008-02-01 16:52:58 +0000
commita755da02a84436d3ab38048e52e4e35806fc9e91 (patch)
tree051925c55601f167450ef0b98900c127a419b621 /src/java/org/apache/poi/hssf/model/Workbook.java
parentfeeb8cca63644fa9da275979943748875c6dfb94 (diff)
downloadpoi-a755da02a84436d3ab38048e52e4e35806fc9e91.tar.gz
poi-a755da02a84436d3ab38048e52e4e35806fc9e91.zip
More Hyperlink support. Doesn't end up in HSSFCell just yet, as the records are in the wrong bit of the file, so don't get associated with the sheet. All tests still passing though
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@617555 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/poi/hssf/model/Workbook.java')
-rw-r--r--src/java/org/apache/poi/hssf/model/Workbook.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/java/org/apache/poi/hssf/model/Workbook.java b/src/java/org/apache/poi/hssf/model/Workbook.java
index 08c236cda1..2ba50857ca 100644
--- a/src/java/org/apache/poi/hssf/model/Workbook.java
+++ b/src/java/org/apache/poi/hssf/model/Workbook.java
@@ -93,6 +93,8 @@ public class Workbook implements Model
protected ArrayList formats = new ArrayList();
protected ArrayList names = new ArrayList();
+
+ protected ArrayList hyperlinks = new ArrayList();
protected int numxfs = 0; // hold the number of extended format records
protected int numfonts = 0; // hold the number of font records
@@ -133,7 +135,8 @@ public class Workbook implements Model
Workbook retval = new Workbook();
ArrayList records = new ArrayList(recs.size() / 3);
- for (int k = 0; k < recs.size(); k++) {
+ int k;
+ for (k = 0; k < recs.size(); k++) {
Record rec = ( Record ) recs.get(k);
if (rec.getSid() == EOFRecord.sid) {
@@ -248,6 +251,17 @@ public class Workbook implements Model
// retval.records.supbookpos = retval.records.bspos + 1;
// retval.records.namepos = retval.records.supbookpos + 1;
// }
+
+ // Look for other interesting values that
+ // follow the EOFRecord
+ for ( ; k < recs.size(); k++) {
+ Record rec = ( Record ) recs.get(k);
+ switch (rec.getSid()) {
+ case HyperlinkRecord.sid:
+ retval.hyperlinks.add(rec);
+ break;
+ }
+ }
retval.records.setRecords(records);
@@ -2116,6 +2130,11 @@ public class Workbook implements Model
return null;
}
+ public List getHyperlinks()
+ {
+ return hyperlinks;
+ }
+
public List getRecords()
{
return records.getRecords();