org.apache.poi.hpsf
Class MutablePropertySet

java.lang.Object
  extended by org.apache.poi.hpsf.PropertySet
      extended by org.apache.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.

Author:
Rainer Klute <klute@rainer-klute.de>

Field Summary
 
Fields inherited from class org.apache.poi.hpsf.PropertySet
byteOrder, classID, format, OS_MACINTOSH, OS_WIN16, OS_WIN32, osVersion, sections
 
Constructor Summary
MutablePropertySet()
          Constructs a MutablePropertySet instance.
MutablePropertySet(PropertySet ps)
          Constructs a MutablePropertySet by doing a deep copy of an existing PropertySet.
 
Method Summary
 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.
 java.io.InputStream toInputStream()
          Returns the contents of this property set stream as an input stream.
 void write(DirectoryEntry dir, java.lang.String name)
          Writes a property set to a document in a POI filesystem directory.
 void write(java.io.OutputStream out)
          Writes the property set to an output stream.
 
Methods inherited from class org.apache.poi.hpsf.PropertySet
equals, getByteOrder, getClassID, getFirstSection, getFormat, getOSVersion, getProperties, getProperty, getPropertyBooleanValue, getPropertyIntValue, getSectionCount, getSections, getSingleSection, hashCode, isDocumentSummaryInformation, isPropertySetStream, isPropertySetStream, isSummaryInformation, toString, wasNull
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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 existing PropertySet. All nested elements, i.e. Sections and Property instances, will be their mutable counterparts in the new MutablePropertySet.

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 - The Section 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(java.io.OutputStream out)
           throws WritingNotSupportedException,
                  java.io.IOException

Writes the property set to an output stream.

Parameters:
out - the output stream to write the section to
Throws:
java.io.IOException - if an error when writing to the output stream occurs
WritingNotSupportedException - if HPSF does not yet support writing a property's variant type.

toInputStream

public java.io.InputStream toInputStream()
                                  throws java.io.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.
java.io.IOException - if an I/O exception occurs.

write

public void write(DirectoryEntry dir,
                  java.lang.String name)
           throws WritingNotSupportedException,
                  java.io.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
java.io.IOException


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.