org.apache.poi.poifs.property
Class Property

java.lang.Object
  extended by org.apache.poi.poifs.property.Property
All Implemented Interfaces:
POIFSViewable, Child
Direct Known Subclasses:
DirectoryProperty, DocumentProperty

public abstract class Property
extends java.lang.Object
implements Child, POIFSViewable

This abstract base class is the ancestor of all classes implementing POIFS Property behavior.

Author:
Marc Johnson (mjohnson at apache dot org)

Method Summary
 java.lang.String getName()
          Get the name of this property
 Child getNextChild()
          Get the next Child, if any
 Child getPreviousChild()
          Get the previous Child, if any
 java.lang.String getShortDescription()
          Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.
 int getSize()
          find out the document size
 int getStartBlock()
           
 ClassID getStorageClsid()
          Sets the storage clsid, which is the Class ID of a COM object which reads and writes this stream
 java.lang.Object[] getViewableArray()
          Get an array of objects, some of which may implement POIFSViewable
 java.util.Iterator getViewableIterator()
          Get an Iterator of objects, some of which may implement POIFSViewable
abstract  boolean isDirectory()
           
static boolean isSmall(int length)
          does the length indicate a small document?
 boolean preferArray()
          Give viewers a hint as to whether to call getViewableArray or getViewableIterator
 void setNextChild(Child child)
          Set the next Child
 void setPreviousChild(Child child)
          Set the previous Child
 void setStartBlock(int startBlock)
          Set the start block for the document referred to by this Property.
 void setStorageClsid(ClassID clsidStorage)
          Sets the storage class ID for this property stream.
 boolean shouldUseSmallBlocks()
          Based on the currently defined size, should this property use small blocks?
 void writeData(java.io.OutputStream stream)
          Write the raw data to an OutputStream.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

writeData

public void writeData(java.io.OutputStream stream)
               throws java.io.IOException
Write the raw data to an OutputStream.

Parameters:
stream - the OutputStream to which the data should be written.
Throws:
java.io.IOException - on problems writing to the specified stream.

setStartBlock

public void setStartBlock(int startBlock)
Set the start block for the document referred to by this Property.

Parameters:
startBlock - the start block index

getStartBlock

public int getStartBlock()
Returns:
the start block

getSize

public int getSize()
find out the document size

Returns:
size in bytes

shouldUseSmallBlocks

public boolean shouldUseSmallBlocks()
Based on the currently defined size, should this property use small blocks?

Returns:
true if the size is less than _big_block_minimum_bytes

isSmall

public static boolean isSmall(int length)
does the length indicate a small document?

Parameters:
length - length in bytes
Returns:
true if the length is less than _big_block_minimum_bytes

getName

public java.lang.String getName()
Get the name of this property

Returns:
property name as String

isDirectory

public abstract boolean isDirectory()
Returns:
true if a directory type Property

getStorageClsid

public ClassID getStorageClsid()
Sets the storage clsid, which is the Class ID of a COM object which reads and writes this stream

Returns:
storage Class ID for this property stream

setStorageClsid

public void setStorageClsid(ClassID clsidStorage)
Sets the storage class ID for this property stream. This is the Class ID of the COM object which can read and write this property stream

Parameters:
clsidStorage - Storage Class ID

getNextChild

public Child getNextChild()
Get the next Child, if any

Specified by:
getNextChild in interface Child
Returns:
the next Child; may return null

getPreviousChild

public Child getPreviousChild()
Get the previous Child, if any

Specified by:
getPreviousChild in interface Child
Returns:
the previous Child; may return null

setNextChild

public void setNextChild(Child child)
Set the next Child

Specified by:
setNextChild in interface Child
Parameters:
child - the new 'next' child; may be null, which has the effect of saying there is no 'next' child

setPreviousChild

public void setPreviousChild(Child child)
Set the previous Child

Specified by:
setPreviousChild in interface Child
Parameters:
child - the new 'previous' child; may be null, which has the effect of saying there is no 'previous' child

getViewableArray

public java.lang.Object[] getViewableArray()
Get an array of objects, some of which may implement POIFSViewable

Specified by:
getViewableArray in interface POIFSViewable
Returns:
an array of Object; may not be null, but may be empty

getViewableIterator

public java.util.Iterator getViewableIterator()
Get an Iterator of objects, some of which may implement POIFSViewable

Specified by:
getViewableIterator in interface POIFSViewable
Returns:
an Iterator; may not be null, but may have an empty back end store

preferArray

public boolean preferArray()
Give viewers a hint as to whether to call getViewableArray or getViewableIterator

Specified by:
preferArray in interface POIFSViewable
Returns:
true if a viewer should call getViewableArray, false if a viewer should call getViewableIterator

getShortDescription

public java.lang.String getShortDescription()
Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.

Specified by:
getShortDescription in interface POIFSViewable
Returns:
short description