Class Property

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static int _NO_INDEX  
      protected static byte _NODE_BLACK  
      protected static byte _NODE_RED  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Property()  
      protected Property​(int index, byte[] array, int offset)
      Constructor from byte data
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected int getChildIndex()
      Get the child property (its index in the Property Table)
      protected int getIndex()
      get the index for this Property
      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<java.lang.Object> 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
      protected abstract void preWrite()
      Perform whatever activities need to be performed prior to writing
      protected void setChildProperty​(int child)
      Set the child property.
      protected void setIndex​(int index)
      Set the index for this Property
      protected void setName​(java.lang.String name)
      Set the name; silently truncates the name if it's too long.
      void setNextChild​(Child child)
      Set the next Child
      protected void setNodeColor​(byte nodeColor)
      Set the node color.
      void setPreviousChild​(Child child)
      Set the previous Child
      protected void setPropertyType​(byte propertyType)
      Set the property type.
      protected void setSize​(int size)
      Set the size of the document associated with this Property
      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

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Property

        protected Property()
      • Property

        protected Property​(int index,
                           byte[] array,
                           int offset)
        Constructor from byte data
        Parameters:
        index - index number
        array - byte data
        offset - offset into byte data
    • 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
      • setName

        protected void setName​(java.lang.String name)
        Set the name; silently truncates the name if it's too long.
        Parameters:
        name - the new name
      • 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
      • setPropertyType

        protected void setPropertyType​(byte propertyType)
        Set the property type. Makes no attempt to validate the value.
        Parameters:
        propertyType - the property type (root, file, directory)
      • setNodeColor

        protected void setNodeColor​(byte nodeColor)
        Set the node color.
        Parameters:
        nodeColor - the node color (red or black)
      • setChildProperty

        protected void setChildProperty​(int child)
        Set the child property.
        Parameters:
        child - the child property's index in the Property Table
      • getChildIndex

        protected int getChildIndex()
        Get the child property (its index in the Property Table)
        Returns:
        child property index
      • setSize

        protected void setSize​(int size)
        Set the size of the document associated with this Property
        Parameters:
        size - the size of the document, in bytes
      • setIndex

        protected void setIndex​(int index)
        Set the index for this Property
        Parameters:
        index - this Property's index within its containing Property Table
      • getIndex

        protected int getIndex()
        get the index for this Property
        Returns:
        the index of this Property within its Property Table
      • preWrite

        protected abstract void preWrite()
        Perform whatever activities need to be performed prior to writing
      • 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<java.lang.Object> 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