Class MutablePropertySet
- java.lang.Object
-
- loci.poi.hpsf.PropertySet
-
- loci.poi.hpsf.MutablePropertySet
-
- Direct Known Subclasses:
SpecialPropertySet
public class MutablePropertySet extends PropertySet
Adds writing support to the
PropertySet
class.Please be aware that this class' functionality will be merged into the
PropertySet
class at a later time, so the API will change.- Since:
- 2003-02-19
- Version:
- $Id: MutablePropertySet.java 489730 2006-12-22 19:18:16Z bayard $
- Author:
- Rainer Klute <klute@rainer-klute.de>
-
-
Field Summary
-
Fields inherited from class loci.poi.hpsf.PropertySet
byteOrder, classID, format, OS_MACINTOSH, OS_WIN16, OS_WIN32, osVersion, sections
-
-
Constructor Summary
Constructors Constructor Description MutablePropertySet()
Constructs aMutablePropertySet
instance.MutablePropertySet(PropertySet ps)
Constructs aMutablePropertySet
by doing a deep copy of an existingPropertySet
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSection(Section section)
Adds a section to this property set.void
clearSections()
Removes all sections from this property set.void
setByteOrder(int byteOrder)
Sets the "byteOrder" property.void
setClassID(ClassID classID)
Sets the property set stream's low-level "class ID" field.void
setFormat(int format)
Sets the "format" property.void
setOSVersion(int osVersion)
Sets the "osVersion" property.loci.common.RandomAccessInputStream
toInputStream()
Returns the contents of this property set stream as an input stream.void
write(OutputStream out)
Writes the property set to an output stream.void
write(DirectoryEntry dir, String name)
Writes a property set to a document in a POI filesystem directory.-
Methods inherited from class loci.poi.hpsf.PropertySet
equals, getByteOrder, getClassID, getFirstSection, getFormat, getOSVersion, getProperties, getProperty, getPropertyBooleanValue, getPropertyIntValue, getSectionCount, getSections, getSingleSection, hashCode, isDocumentSummaryInformation, isPropertySetStream, isPropertySetStream, isSummaryInformation, toString, wasNull
-
-
-
-
Constructor Detail
-
MutablePropertySet
public MutablePropertySet()
Constructs a
MutablePropertySet
instance. Its primary task is to initialize the immutable field with their proper values. It also sets fields that might change to reasonable defaults.
-
MutablePropertySet
public MutablePropertySet(PropertySet ps)
Constructs a
MutablePropertySet
by doing a deep copy of an existingPropertySet
. All nested elements, i.e.Section
s andProperty
instances, will be their mutable counterparts in the newMutablePropertySet
.- Parameters:
ps
- The property set to copy
-
-
Method Detail
-
setByteOrder
public void setByteOrder(int byteOrder)
Sets the "byteOrder" property.
- Parameters:
byteOrder
- the byteOrder value to set
-
setFormat
public void setFormat(int format)
Sets the "format" property.
- Parameters:
format
- the format value to set
-
setOSVersion
public void setOSVersion(int osVersion)
Sets the "osVersion" property.
- Parameters:
osVersion
- the osVersion value to set
-
setClassID
public void setClassID(ClassID classID)
Sets the property set stream's low-level "class ID" field.
- Parameters:
classID
- The property set stream's low-level "class ID" field.- See Also:
PropertySet.getClassID()
-
clearSections
public void clearSections()
Removes all sections from this property set.
-
addSection
public void addSection(Section section)
Adds a section to this property set.
- Parameters:
section
- TheSection
to add. It will be appended after any sections that are already present in the property set and thus become the last section.
-
write
public void write(OutputStream out) throws WritingNotSupportedException, IOException
Writes the property set to an output stream.
- Parameters:
out
- the output stream to write the section to- Throws:
IOException
- if an error when writing to the output stream occursWritingNotSupportedException
- if HPSF does not yet support writing a property's variant type.
-
toInputStream
public loci.common.RandomAccessInputStream toInputStream() throws IOException, WritingNotSupportedException
Returns the contents of this property set stream as an input stream. The latter can be used for example to write the property set into a POIFS document. The input stream represents a snapshot of the property set. If the latter is modified while the input stream is still being read, the modifications will not be reflected in the input stream but in the
MutablePropertySet
only.- Returns:
- the contents of this property set stream
- Throws:
WritingNotSupportedException
- if HPSF does not yet support writing of a property's variant type.IOException
- if an I/O exception occurs.
-
write
public void write(DirectoryEntry dir, String name) throws WritingNotSupportedException, IOException
Writes a property set to a document in a POI filesystem directory.
- Parameters:
dir
- The directory in the POI filesystem to write the document to.name
- The document's name. If there is already a document with the same name in the directory the latter will be overwritten.- Throws:
WritingNotSupportedException
IOException
-
-