diff options
author | Rainer Klute <klute@apache.org> | 2006-03-03 16:57:55 +0000 |
---|---|---|
committer | Rainer Klute <klute@apache.org> | 2006-03-03 16:57:55 +0000 |
commit | 73a9af683f7c986421d12e07e680111d94a609c4 (patch) | |
tree | b315b5320a537d72619cae55c393357f4737b5c0 /src/java/org/apache/poi/hpsf/wellknown | |
parent | a36d020021bb41eade6d653005ef42f60a0a609a (diff) | |
download | poi-73a9af683f7c986421d12e07e680111d94a609c4.tar.gz poi-73a9af683f7c986421d12e07e680111d94a609c4.zip |
* Writing support added to the SummaryInformation and DocumentSummaryInformation classes. These classes now have methods for setting and removing properties. Coherent extensions are:
** Documentation section about writing standard properties added to the HPSF HOW-TO.
** Example application added showing how to modify the document summary information.
** Testcases added for testing modifying summary information and document summary information.
** PropertySetFactory extended to create SummaryInformation and DocumentSummaryInformation instances.
* Added MutablePropertySet.write(DirectoryEntry, String) to ease writing a property set to a POI filesystem document.
* Improved codepage handling.
* Bug fixed: Integral values were read and written as unsigned instead of signed.
* Reworked the mapping between variant types and Java types: Variant.VT_I4 is mapped to Integer now and Variant.VT_I8 to Long. This might cause incompatibilities if you are doing low-level HPSF programming.
* Changed SectionIDMap.DOCUMENT_SUMMARY_INFORMATION_ID from a byte[] to a byte[][] in order to contain the format ID of the first and the second section. This is an incompatible change!
* Added PropertySet.getFirstSection(). This method is similar to getSingleSection() won't choke if the property set has more than one section.
* Support for low-level reading and writing of Variant.VT_I8 type properties added.
* Unnecessary casts removed.
* Poibrowser's display format changed slightly.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@382887 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/poi/hpsf/wellknown')
-rw-r--r-- | src/java/org/apache/poi/hpsf/wellknown/PropertyIDMap.java | 6 | ||||
-rw-r--r-- | src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java | 34 |
2 files changed, 25 insertions, 15 deletions
diff --git a/src/java/org/apache/poi/hpsf/wellknown/PropertyIDMap.java b/src/java/org/apache/poi/hpsf/wellknown/PropertyIDMap.java index 77a17b5224..517af3b1ed 100644 --- a/src/java/org/apache/poi/hpsf/wellknown/PropertyIDMap.java +++ b/src/java/org/apache/poi/hpsf/wellknown/PropertyIDMap.java @@ -1,4 +1,3 @@ - /* ==================================================================== Copyright 2002-2004 Apache Software Foundation @@ -231,6 +230,11 @@ public class PropertyIDMap extends HashMap * re-evaluated.</p> */ public static final int PID_LINKSDIRTY = 16; + + /** + * <p>The highest well-known property ID. Applications are free to use higher values for custom purposes.</p> + */ + public static final int PID_MAX = PID_LINKSDIRTY; diff --git a/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java b/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java index 93e837f2c6..e5e2045896 100644 --- a/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java +++ b/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java @@ -1,6 +1,5 @@ - /* ==================================================================== - Copyright 2002-2004 Apache Software Foundation + Copyright 2002-2006 Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -53,16 +52,23 @@ public class SectionIDMap extends HashMap }; /** - * <p>The DocumentSummaryInformation's first section's format - * ID. The second section has a different format ID which is not - * well-known.</p> + * <p>The DocumentSummaryInformation's first and second sections' format + * ID.</p> */ - public static final byte[] DOCUMENT_SUMMARY_INFORMATION_ID = new byte[] + public static final byte[][] DOCUMENT_SUMMARY_INFORMATION_ID = new byte[][] { - (byte) 0xD5, (byte) 0xCD, (byte) 0xD5, (byte) 0x02, - (byte) 0x2E, (byte) 0x9C, (byte) 0x10, (byte) 0x1B, - (byte) 0x93, (byte) 0x97, (byte) 0x08, (byte) 0x00, - (byte) 0x2B, (byte) 0x2C, (byte) 0xF9, (byte) 0xAE + { + (byte) 0xD5, (byte) 0xCD, (byte) 0xD5, (byte) 0x02, + (byte) 0x2E, (byte) 0x9C, (byte) 0x10, (byte) 0x1B, + (byte) 0x93, (byte) 0x97, (byte) 0x08, (byte) 0x00, + (byte) 0x2B, (byte) 0x2C, (byte) 0xF9, (byte) 0xAE + }, + { + (byte) 0xD5, (byte) 0xCD, (byte) 0xD5, (byte) 0x05, + (byte) 0x2E, (byte) 0x9C, (byte) 0x10, (byte) 0x1B, + (byte) 0x93, (byte) 0x97, (byte) 0x08, (byte) 0x00, + (byte) 0x2B, (byte) 0x2C, (byte) 0xF9, (byte) 0xAE + } }; /** @@ -91,7 +97,7 @@ public class SectionIDMap extends HashMap final SectionIDMap m = new SectionIDMap(); m.put(SUMMARY_INFORMATION_ID, PropertyIDMap.getSummaryInformationProperties()); - m.put(DOCUMENT_SUMMARY_INFORMATION_ID, + m.put(DOCUMENT_SUMMARY_INFORMATION_ID[0], PropertyIDMap.getDocumentSummaryInformationProperties()); defaultMap = m; } @@ -116,8 +122,7 @@ public class SectionIDMap extends HashMap public static String getPIDString(final byte[] sectionFormatID, final long pid) { - final PropertyIDMap m = - (PropertyIDMap) getInstance().get(sectionFormatID); + final PropertyIDMap m = getInstance().get(sectionFormatID); if (m == null) return UNDEFINED; else @@ -178,7 +183,8 @@ public class SectionIDMap extends HashMap /** * @deprecated Use {@link #put(byte[], PropertyIDMap)} instead! - * @link #put(byte[], PropertyIDMap) + * + * @see #put(byte[], PropertyIDMap) * * @param key This parameter remains undocumented since the method is * deprecated. |