Class DefaultFileContent

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, FileContent

    public final class DefaultFileContent
    extends java.lang.Object
    implements FileContent
    The content of a file.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Closes all resources used by the content, including all streams, readers and writers.
      java.lang.Object getAttribute​(java.lang.String attrName)
      Gets the value of an attribute.
      java.lang.String[] getAttributeNames()
      Lists the attributes of this file.
      java.util.Map<java.lang.String,​java.lang.Object> getAttributes()
      Returns a read-only map of this file's attributes.
      java.security.cert.Certificate[] getCertificates()
      Returns the certificates used to sign this file.
      FileContentInfo getContentInfo()
      get the content info.
      FileObject getFile()
      Returns the file that this is the content of.
      java.io.InputStream getInputStream()
      Returns an input stream for reading the content.
      long getLastModifiedTime()
      Returns the last-modified timestamp.
      java.io.OutputStream getOutputStream()
      Returns an output stream for writing the content.
      java.io.OutputStream getOutputStream​(boolean bAppend)
      Returns an output stream for writing the content in append mode.
      RandomAccessContent getRandomAccessContent​(RandomAccessMode mode)
      Returns an input/output stream to use to read and write the content of the file in an random manner.
      long getSize()
      Returns the size of the content (in bytes).
      boolean hasAttribute​(java.lang.String attrName)
      Checks if an attribute exists.
      boolean isOpen()
      Check if a input and/or output stream is open.
      boolean isOpenGlobal()
      Check if a input and/or output stream is open.
      void removeAttribute​(java.lang.String attrName)
      Removes an attribute.
      void resetAttributes()
      Used internally to flag situations where the file attributes should be reretrieved.
      void setAttribute​(java.lang.String attrName, java.lang.Object value)
      Sets the value of an attribute.
      void setLastModifiedTime​(long modTime)
      Sets the last-modified timestamp.
      long write​(java.io.OutputStream output)
      Writes this content to an OutputStream.
      long write​(java.io.OutputStream output, int bufferSize)
      Writes this content to an OutputStream.
      long write​(FileContent fileContent)
      Writes this content to another FileContent.
      long write​(FileObject file)
      Writes this content to another FileObject.
      • Methods inherited from class java.lang.Object

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

      • getFile

        public FileObject getFile()
        Returns the file that this is the content of.
        Specified by:
        getFile in interface FileContent
        Returns:
        the FileObject.
      • hasAttribute

        public boolean hasAttribute​(java.lang.String attrName)
                             throws FileSystemException
        Checks if an attribute exists.
        Specified by:
        hasAttribute in interface FileContent
        Parameters:
        attrName - The name of the attribute to check.
        Returns:
        true if the attribute is associated with the file.
        Throws:
        FileSystemException - if an error occurs.
        Since:
        2.0
      • getAttributes

        public java.util.Map<java.lang.String,​java.lang.Object> getAttributes()
                                                                             throws FileSystemException
        Returns a read-only map of this file's attributes.
        Specified by:
        getAttributes in interface FileContent
        Returns:
        a Map of the file's attributes.
        Throws:
        FileSystemException - if an error occurs.
      • resetAttributes

        public void resetAttributes()
        Used internally to flag situations where the file attributes should be reretrieved.
        Since:
        2.0
      • getAttribute

        public java.lang.Object getAttribute​(java.lang.String attrName)
                                      throws FileSystemException
        Gets the value of an attribute.
        Specified by:
        getAttribute in interface FileContent
        Parameters:
        attrName - The attribute name.
        Returns:
        The value of the attribute or null.
        Throws:
        FileSystemException - if an error occurs.
      • setAttribute

        public void setAttribute​(java.lang.String attrName,
                                 java.lang.Object value)
                          throws FileSystemException
        Sets the value of an attribute.
        Specified by:
        setAttribute in interface FileContent
        Parameters:
        attrName - The name of the attribute to add.
        value - The value of the attribute.
        Throws:
        FileSystemException - if an error occurs.
      • getOutputStream

        public java.io.OutputStream getOutputStream​(boolean bAppend)
                                             throws FileSystemException
        Returns an output stream for writing the content in append mode.
        Specified by:
        getOutputStream in interface FileContent
        Parameters:
        bAppend - true if the data written should be appended.
        Returns:
        The OutputStream for the file.
        Throws:
        FileSystemException - if an error occurs.
      • close

        public void close()
                   throws FileSystemException
        Closes all resources used by the content, including all streams, readers and writers.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface FileContent
        Throws:
        FileSystemException - if an error occurs.
      • isOpen

        public boolean isOpen()
        Check if a input and/or output stream is open.

        This checks only the scope of the current thread.

        Specified by:
        isOpen in interface FileContent
        Returns:
        true if this is the case
      • isOpenGlobal

        public boolean isOpenGlobal()
        Check if a input and/or output stream is open. This checks all threads.
        Returns:
        true if this is the case
      • write

        public long write​(FileContent fileContent)
                   throws java.io.IOException
        Writes this content to another FileContent.
        Specified by:
        write in interface FileContent
        Parameters:
        fileContent - The target FileContent.
        Returns:
        the total number of bytes written
        Throws:
        java.io.IOException - if an error occurs writing the content.
        Since:
        2.1
      • write

        public long write​(FileObject file)
                   throws java.io.IOException
        Writes this content to another FileObject.
        Specified by:
        write in interface FileContent
        Parameters:
        file - The target FileObject.
        Returns:
        the total number of bytes written
        Throws:
        java.io.IOException - if an error occurs writing the content.
        Since:
        2.1
      • write

        public long write​(java.io.OutputStream output)
                   throws java.io.IOException
        Writes this content to an OutputStream.
        Specified by:
        write in interface FileContent
        Parameters:
        output - The target OutputStream.
        Returns:
        the total number of bytes written
        Throws:
        java.io.IOException - if an error occurs writing the content.
        Since:
        2.1
      • write

        public long write​(java.io.OutputStream output,
                          int bufferSize)
                   throws java.io.IOException
        Writes this content to an OutputStream.
        Specified by:
        write in interface FileContent
        Parameters:
        output - The target OutputStream.
        bufferSize - The buffer size to write data chunks.
        Returns:
        the total number of bytes written
        Throws:
        java.io.IOException - if an error occurs writing the file.
        Since:
        2.1