package org.apache.poi.hpsf; import java.io.IOException; import java.io.OutputStream; /** *
Adds writing capability to the {@link Property} class.
* *Please be aware that this class' functionality will be merged into the * {@link Property} class at a later time, so the API will change.
* * @author Rainer Klute <klute@rainer-klute.de> * @since 2003-08-03 * @version $Id$ */ public class MutableProperty extends Property { /** *Creates an empty property. It must be filled using the set method to * be usable.
*/ public MutableProperty() { } /** *Creates a MutableProperty as a copy of an existing
* Property.
Sets the property's ID.
* * @param id the ID */ public void setID(final long id) { this.id = id; } /** *Sets the property's type.
* * @param type the property's type */ public void setType(final long type) { this.type = type; } /** *Sets the property's value.
* * @param value the property's value */ public void setValue(final Object value) { this.value = value; } /** *Writes the property to an output stream.
* * @param out The output stream to write to. * @return the number of bytes written to the stream * * @exception IOException if an I/O error occurs * @exception WritingNotSupportedException if a variant type is to be * written that is not yet supported */ public int write(final OutputStream out) throws IOException, WritingNotSupportedException { int length = 0; long variantType = getType(); length += TypeWriter.writeUIntToStream(out, variantType); length += VariantSupport.write(out, variantType, getValue()); return length; } }