Package org.apache.commons.vfs2.provider
Class DefaultFileContent
- java.lang.Object
-
- org.apache.commons.vfs2.provider.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.
-
-
Constructor Summary
Constructors Constructor Description DefaultFileContent(AbstractFileObject fileObject, FileContentInfoFactory fileContentInfoFactory)Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes all resources used by the content, including all streams, readers and writers.java.lang.ObjectgetAttribute(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.FileContentInfogetContentInfo()Gets the FileContentInfo which describes the content-type, content-encoding.FileObjectgetFile()Returns the file that this is the content of.java.io.InputStreamgetInputStream()Returns an input stream for reading the content.java.io.InputStreamgetInputStream(int bufferSize)Returns an input stream for reading the content.longgetLastModifiedTime()Returns the last-modified timestamp.java.io.OutputStreamgetOutputStream()Returns an output stream for writing the content.java.io.OutputStreamgetOutputStream(boolean bAppend)Returns an output stream for writing the content in append mode.java.io.OutputStreamgetOutputStream(boolean bAppend, int bufferSize)Returns an output stream for writing the content in append mode.java.io.OutputStreamgetOutputStream(int bufferSize)Returns an output stream for writing the content.RandomAccessContentgetRandomAccessContent(RandomAccessMode mode)Returns an input/output stream to use to read and write the content of the file in a random manner.longgetSize()Returns the size of the content (in bytes).booleanhasAttribute(java.lang.String attrName)Checks if an attribute exists.booleanisOpen()Checks if an input and/or output stream is open.booleanisOpenGlobal()Checks if an input or output stream is open.voidremoveAttribute(java.lang.String attrName)Removes an attribute.voidresetAttributes()Used internally to flag situations where the file attributes should be retrieved again.voidsetAttribute(java.lang.String attrName, java.lang.Object value)Sets the value of an attribute.voidsetLastModifiedTime(long modTime)Sets the last-modified timestamp.longwrite(java.io.OutputStream output)Writes this content to an OutputStream.longwrite(java.io.OutputStream output, int bufferSize)Writes this content to an OutputStream.longwrite(FileContent fileContent)Writes this content to another FileContent.longwrite(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
-
Methods inherited from interface org.apache.commons.vfs2.FileContent
getByteArray, getString, getString, isEmpty
-
-
-
-
Constructor Detail
-
DefaultFileContent
public DefaultFileContent(AbstractFileObject fileObject, FileContentInfoFactory fileContentInfoFactory)
Constructs a new instance.- Parameters:
fileObject- The file object.fileContentInfoFactory- The info factory.
-
-
Method Detail
-
close
public void close() throws FileSystemException
Closes all resources used by the content, including all streams, readers and writers.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceFileContent- Throws:
FileSystemException- if an error occurs.
-
getAttribute
public java.lang.Object getAttribute(java.lang.String attrName) throws FileSystemException
Gets the value of an attribute.- Specified by:
getAttributein interfaceFileContent- Parameters:
attrName- The attribute name.- Returns:
- The value of the attribute or null.
- Throws:
FileSystemException- if an error occurs.
-
getAttributeNames
public java.lang.String[] getAttributeNames() throws FileSystemException
Lists the attributes of this file.- Specified by:
getAttributeNamesin interfaceFileContent- Returns:
- An array of attribute names.
- Throws:
FileSystemException- if an error occurs.
-
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:
getAttributesin interfaceFileContent- Returns:
- a Map of the file's attributes.
- Throws:
FileSystemException- if an error occurs.
-
getCertificates
public java.security.cert.Certificate[] getCertificates() throws FileSystemException
Returns the certificates used to sign this file.- Specified by:
getCertificatesin interfaceFileContent- Returns:
- An array of Certificates.
- Throws:
FileSystemException- if an error occurs.
-
getContentInfo
public FileContentInfo getContentInfo() throws FileSystemException
Gets the FileContentInfo which describes the content-type, content-encoding.- Specified by:
getContentInfoin interfaceFileContent- Returns:
- The FileContentInfo.
- Throws:
FileSystemException- if an error occurs.
-
getFile
public FileObject getFile()
Returns the file that this is the content of.- Specified by:
getFilein interfaceFileContent- Returns:
- the FileObject.
-
getInputStream
public java.io.InputStream getInputStream() throws FileSystemException
Returns an input stream for reading the content.- Specified by:
getInputStreamin interfaceFileContent- Returns:
- The InputStream
- Throws:
FileSystemException- if an error occurs.
-
getInputStream
public java.io.InputStream getInputStream(int bufferSize) throws FileSystemException
Returns an input stream for reading the content.- Specified by:
getInputStreamin interfaceFileContent- Parameters:
bufferSize- The buffer size to use.- Returns:
- The InputStream
- Throws:
FileSystemException- if an error occurs.- Since:
- 2.4
-
getLastModifiedTime
public long getLastModifiedTime() throws FileSystemException
Returns the last-modified timestamp.- Specified by:
getLastModifiedTimein interfaceFileContent- Returns:
- The last modified timestamp.
- Throws:
FileSystemException- if an error occurs.
-
getOutputStream
public java.io.OutputStream getOutputStream() throws FileSystemException
Returns an output stream for writing the content.- Specified by:
getOutputStreamin interfaceFileContent- Returns:
- The OutputStream for the file.
- 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:
getOutputStreamin interfaceFileContent- Parameters:
bAppend- true if the data written should be appended.- Returns:
- The OutputStream for the file.
- Throws:
FileSystemException- if an error occurs.
-
getOutputStream
public java.io.OutputStream getOutputStream(boolean bAppend, int bufferSize) throws FileSystemException
Returns an output stream for writing the content in append mode.- Specified by:
getOutputStreamin interfaceFileContent- Parameters:
bAppend- true if the data written should be appended.bufferSize- The buffer size to use.- Returns:
- The OutputStream for the file.
- Throws:
FileSystemException- if an error occurs.- Since:
- 2.4
-
getOutputStream
public java.io.OutputStream getOutputStream(int bufferSize) throws FileSystemException
Returns an output stream for writing the content.- Specified by:
getOutputStreamin interfaceFileContent- Parameters:
bufferSize- The buffer size to use.- Returns:
- The OutputStream for the file.
- Throws:
FileSystemException- if an error occurs.- Since:
- 2.4
-
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 a random manner.- Specified by:
getRandomAccessContentin interfaceFileContent- Parameters:
mode- The RandomAccessMode.- Returns:
- A RandomAccessContent object to access the file.
- Throws:
FileSystemException- if an error occurs.
-
getSize
public long getSize() throws FileSystemException
Returns the size of the content (in bytes).- Specified by:
getSizein interfaceFileContent- Returns:
- The size of the content (in bytes).
- Throws:
FileSystemException- if an error occurs.
-
hasAttribute
public boolean hasAttribute(java.lang.String attrName) throws FileSystemException
Checks if an attribute exists.- Specified by:
hasAttributein interfaceFileContent- 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
-
isOpen
public boolean isOpen()
Checks if an input and/or output stream is open.This checks only the scope of the current thread.
- Specified by:
isOpenin interfaceFileContent- Returns:
- true if this is the case
-
isOpenGlobal
public boolean isOpenGlobal()
Checks if an input or output stream is open. This checks all threads.- Returns:
- true if this is the case
-
removeAttribute
public void removeAttribute(java.lang.String attrName) throws FileSystemException
Removes an attribute.- Specified by:
removeAttributein interfaceFileContent- Parameters:
attrName- The name of the attribute to remove.- Throws:
FileSystemException- if an error occurs.- Since:
- 2.0
-
resetAttributes
public void resetAttributes()
Used internally to flag situations where the file attributes should be retrieved again.- Since:
- 2.0
-
setAttribute
public void setAttribute(java.lang.String attrName, java.lang.Object value) throws FileSystemException
Sets the value of an attribute.- Specified by:
setAttributein interfaceFileContent- Parameters:
attrName- The name of the attribute to add.value- The value of the attribute.- Throws:
FileSystemException- if an error occurs.
-
setLastModifiedTime
public void setLastModifiedTime(long modTime) throws FileSystemException
Sets the last-modified timestamp.- Specified by:
setLastModifiedTimein interfaceFileContent- Parameters:
modTime- The last modified timestamp.- Throws:
FileSystemException- if an error occurs.
-
write
public long write(FileContent fileContent) throws java.io.IOException
Writes this content to another FileContent.- Specified by:
writein interfaceFileContent- 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:
writein interfaceFileContent- 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:
writein interfaceFileContent- 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:
writein interfaceFileContent- 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
-
-