org.apache.commons.vfs.provider
Class DefaultFileContent

java.lang.Object
  extended byorg.apache.commons.vfs.provider.DefaultFileContent
All Implemented Interfaces:
FileContent

public final class DefaultFileContent
extends Object
implements FileContent

The content of a file.

Version:
$Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
Author:
Adam Murdoch

Constructor Summary
DefaultFileContent(AbstractFileObject file, FileContentInfoFactory fileContentInfoFactory)
           
 
Method Summary
 void close()
          Closes all resources used by the content, including all streams, readers and writers.
 Object getAttribute(String attrName)
          Gets the value of an attribute.
 String[] getAttributeNames()
          Lists the attributes of this file.
 Map getAttributes()
          Returns a read-only map of this file's attributes.
 Certificate[] getCertificates()
          Returns the certificates used to sign this file.
 FileContentInfo getContentInfo()
          get the content info. e.g. content-type, content-encoding
 FileObject getFile()
          Returns the file that this is the content of.
 InputStream getInputStream()
          Returns an input stream for reading the content.
 long getLastModifiedTime()
          Returns the last-modified timestamp.
 OutputStream getOutputStream()
          Returns an output stream for writing the content.
 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 isOpen()
          check if a input and/or output stream is open.
 boolean isOpenGlobal()
          check if a input and/or output stream is open.
 void setAttribute(String attrName, Object value)
          Sets the value of an attribute.
 void setLastModifiedTime(long modTime)
          Sets the last-modified timestamp.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultFileContent

public DefaultFileContent(AbstractFileObject file,
                          FileContentInfoFactory fileContentInfoFactory)
Method Detail

getFile

public FileObject getFile()
Returns the file that this is the content of.

Specified by:
getFile in interface FileContent

getSize

public long getSize()
             throws FileSystemException
Returns the size of the content (in bytes).

Specified by:
getSize in interface FileContent
Returns:
The size of the file, in bytes.
Throws:
FileSystemException - If the file does not exist, or is being written to, or on error determining the size.

getLastModifiedTime

public long getLastModifiedTime()
                         throws FileSystemException
Returns the last-modified timestamp.

Specified by:
getLastModifiedTime in interface FileContent
Returns:
The last-modified timestamp.
Throws:
FileSystemException - If the file does not exist, or is being written to, or on error determining the last-modified timestamp.

setLastModifiedTime

public void setLastModifiedTime(long modTime)
                         throws FileSystemException
Sets the last-modified timestamp.

Specified by:
setLastModifiedTime in interface FileContent
Parameters:
modTime - The time to set the last-modified timestamp to.
Throws:
FileSystemException - If the file is read-only, or is being written to, or on error setting the last-modified timestamp.

getAttributes

public Map getAttributes()
                  throws FileSystemException
Returns a read-only map of this file's attributes.

Specified by:
getAttributes in interface FileContent
Throws:
FileSystemException - If the file does not exist, or does not support attributes.

getAttributeNames

public String[] getAttributeNames()
                           throws FileSystemException
Lists the attributes of this file.

Specified by:
getAttributeNames in interface FileContent
Returns:
The names of the attributes. Never returns null;
Throws:
FileSystemException - If the file does not exist, or does not support attributes.

getAttribute

public Object getAttribute(String attrName)
                    throws FileSystemException
Gets the value of an attribute.

Specified by:
getAttribute in interface FileContent
Parameters:
attrName - The name of the attribute. Attribute names are case insensitive.
Returns:
The value of the attribute, or null if the attribute value is unknown.
Throws:
FileSystemException - If the file does not exist, or does not support attributes.

setAttribute

public void setAttribute(String attrName,
                         Object value)
                  throws FileSystemException
Sets the value of an attribute.

Specified by:
setAttribute in interface FileContent
Parameters:
attrName - The name of the attribute.
value - The value of the attribute.
Throws:
FileSystemException - If the file does not exist, or is read-only, or does not support attributes, or on error setting the attribute.

getCertificates

public Certificate[] getCertificates()
                              throws FileSystemException
Returns the certificates used to sign this file.

Specified by:
getCertificates in interface FileContent
Returns:
The certificates, or an empty array if there are no certificates or the file does not support signing.
Throws:
FileSystemException - If the file does not exist, or is being written.

getInputStream

public InputStream getInputStream()
                           throws FileSystemException
Returns an input stream for reading the content.

Specified by:
getInputStream in interface FileContent
Returns:
An input stream to read the file's content from. The input stream is buffered, so there is no need to wrap it in a BufferedInputStream.
Throws:
FileSystemException - If the file does not exist, or is being read, or is being written, or on error opening the stream.

getRandomAccessContent

public RandomAccessContent getRandomAccessContent(RandomAccessMode mode)
                                           throws FileSystemException
Returns an input/output stream to use to read and write the content of the file in an random manner.

Specified by:
getRandomAccessContent in interface FileContent
Throws:
FileSystemException - If the file is read-only, or is being read, or is being written, or on error opening the stream.

getOutputStream

public OutputStream getOutputStream()
                             throws FileSystemException
Returns an output stream for writing the content.

Specified by:
getOutputStream in interface FileContent
Returns:
An output stream to write the file's content to. The stream is buffered, so there is no need to wrap it in a BufferedOutputStream.
Throws:
FileSystemException - If the file is read-only, or is being read, or is being written, or on error opening the stream.

getOutputStream

public 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 you would like to append to the file
Returns:
An output stream to write the file's content to. The stream is buffered, so there is no need to wrap it in a BufferedOutputStream.
Throws:
FileSystemException - If the file is read-only, or is being read, or is being written, or on error opening the stream.

close

public void close()
           throws FileSystemException
Closes all resources used by the content, including all streams, readers and writers.

Specified by:
close in interface FileContent
Throws:
FileSystemException

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

getContentInfo

public FileContentInfo getContentInfo()
                               throws FileSystemException
get the content info. e.g. content-type, content-encoding

Specified by:
getContentInfo in interface FileContent
Throws:
FileSystemException


Copyright © 2002-2006 The Apache Software Foundation. All Rights Reserved.