Class POIFSDocument

    • Constructor Detail

      • POIFSDocument

        public POIFSDocument​(String name,
                             RawDataBlock[] blocks,
                             int length)
                      throws IOException
        Constructor from large blocks
        Parameters:
        name - the name of the POIFSDocument
        blocks - the big blocks making up the POIFSDocument
        length - the actual length of the POIFSDocument
        Throws:
        IOException
      • POIFSDocument

        public POIFSDocument​(String name,
                             SmallDocumentBlock[] blocks,
                             int length)
        Constructor from small blocks
        Parameters:
        name - the name of the POIFSDocument
        blocks - the small blocks making up the POIFSDocument
        length - the actual length of the POIFSDocument
      • POIFSDocument

        public POIFSDocument​(String name,
                             ListManagedBlock[] blocks,
                             int length,
                             int size)
                      throws IOException
        Constructor from small blocks
        Parameters:
        name - the name of the POIFSDocument
        blocks - the small blocks making up the POIFSDocument
        length - the actual length of the POIFSDocument
        Throws:
        IOException
      • POIFSDocument

        public POIFSDocument​(String name,
                             loci.common.RandomAccessInputStream stream,
                             int size)
                      throws IOException
        Constructor
        Parameters:
        name - the name of the POIFSDocument
        stream - the InputStream we read data from
        Throws:
        IOException - thrown on read errors
      • POIFSDocument

        public POIFSDocument​(String name,
                             int size,
                             POIFSDocumentPath path,
                             POIFSWriterListener writer,
                             int blockSize)
                      throws IOException
        Constructor
        Parameters:
        name - the name of the POIFSDocument
        size - the length of the POIFSDocument
        path - the path of the POIFSDocument
        writer - the writer who will eventually write the document contents
        Throws:
        IOException - thrown on read errors
    • Method Detail

      • getSmallBlocks

        public BlockWritable[] getSmallBlocks()
        return the array of SmallDocumentBlocks used
        Returns:
        array of SmallDocumentBlocks; may be empty, cannot be null
      • getSize

        public int getSize()
        Returns:
        size of the document
      • getBigBlockSize

        public int getBigBlockSize()
      • writeBlocks

        public void writeBlocks​(OutputStream stream)
                         throws IOException
        Write the storage to an OutputStream
        Specified by:
        writeBlocks in interface BlockWritable
        Parameters:
        stream - the OutputStream to which the stored data should be written
        Throws:
        IOException - on problems writing to the specified stream
      • countBlocks

        public int countBlocks()
        Return the number of BigBlock's this instance uses
        Specified by:
        countBlocks in interface BATManaged
        Returns:
        count of BigBlock instances
      • setStartBlock

        public void setStartBlock​(int index)
        Set the start block for this instance
        Specified by:
        setStartBlock in interface BATManaged
        Parameters:
        index - index into the array of blocks making up the filesystem
      • getViewableArray

        public 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 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 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