Class AbstractDiskHttpData
java.lang.Object
org.jboss.netty.handler.codec.http.multipart.AbstractHttpData
org.jboss.netty.handler.codec.http.multipart.AbstractDiskHttpData
- All Implemented Interfaces:
Comparable<InterfaceHttpData>
,HttpData
,InterfaceHttpData
- Direct Known Subclasses:
DiskAttribute
,DiskFileUpload
Abstract Disk HttpData implementation
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jboss.netty.handler.codec.http.multipart.InterfaceHttpData
InterfaceHttpData.HttpDataType
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected File
private FileChannel
private boolean
private static final InternalLogger
Fields inherited from class org.jboss.netty.handler.codec.http.multipart.AbstractHttpData
charset, completed, definedSize, maxSize, name, size
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractDiskHttpData
(String name, Charset charset, long size) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addContent
(ChannelBuffer buffer, boolean last) Add the content from the ChannelBuffervoid
delete()
Deletes the underlying storage for a file item, including deleting any associated temporary disk file.protected abstract boolean
byte[]
get()
Returns the contents of the file item as an array of bytes.protected abstract String
Returns the content of the file item as a ChannelBuffergetChunk
(int length) Returns a ChannelBuffer for the content from the current position with at most length read bytes, increasing the current position of the Bytes read.protected abstract String
getFile()
protected abstract String
protected abstract String
Returns the contents of the file item as a String, using the default character encoding.Returns the contents of the file item as a String, using the specified charset.boolean
Provides a hint as to whether or not the file contents will be read from memory.private static byte[]
Utility functionboolean
A convenience method to write an uploaded item to disk.void
setContent
(File file) Set the content from the file (erase any previous data)void
setContent
(InputStream inputStream) Set the content from the inputStream (erase any previous data)void
setContent
(ChannelBuffer buffer) Set the content from the ChannelBuffer (erase any previous data)private File
tempFile()
Methods inherited from class org.jboss.netty.handler.codec.http.multipart.AbstractHttpData
checkSize, getCharset, getName, isCompleted, length, setCharset, setMaxSize
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.jboss.netty.handler.codec.http.multipart.InterfaceHttpData
getHttpDataType
-
Field Details
-
logger
-
file
-
isRenamed
private boolean isRenamed -
fileChannel
-
-
Constructor Details
-
AbstractDiskHttpData
-
-
Method Details
-
getDiskFilename
- Returns:
- the real DiskFilename (basename)
-
getPrefix
- Returns:
- the default prefix
-
getBaseDirectory
- Returns:
- the default base Directory
-
getPostfix
- Returns:
- the default postfix
-
deleteOnExit
protected abstract boolean deleteOnExit()- Returns:
- True if the file should be deleted on Exit by default
-
tempFile
- Returns:
- a new Temp File from getDiskFilename(), default prefix, postfix and baseDirectory
- Throws:
IOException
-
setContent
Description copied from interface:HttpData
Set the content from the ChannelBuffer (erase any previous data)- Parameters:
buffer
- must be not null- Throws:
IOException
-
addContent
Description copied from interface:HttpData
Add the content from the ChannelBuffer- Parameters:
buffer
- must be not null except if last is set to Falselast
- True of the buffer is the last one- Throws:
IOException
-
setContent
Description copied from interface:HttpData
Set the content from the file (erase any previous data)- Parameters:
file
- must be not null- Throws:
IOException
-
setContent
Description copied from interface:HttpData
Set the content from the inputStream (erase any previous data)- Parameters:
inputStream
- must be not null- Throws:
IOException
-
delete
public void delete()Description copied from interface:HttpData
Deletes the underlying storage for a file item, including deleting any associated temporary disk file. -
get
Description copied from interface:HttpData
Returns the contents of the file item as an array of bytes.- Returns:
- the contents of the file item as an array of bytes.
- Throws:
IOException
-
getChannelBuffer
Description copied from interface:HttpData
Returns the content of the file item as a ChannelBuffer- Returns:
- the content of the file item as a ChannelBuffer
- Throws:
IOException
-
getChunk
Description copied from interface:HttpData
Returns a ChannelBuffer for the content from the current position with at most length read bytes, increasing the current position of the Bytes read. Once it arrives at the end, it returns an EMPTY_BUFFER and it resets the current position to 0.- Returns:
- a ChannelBuffer for the content from the current position or an EMPTY_BUFFER if there is no more data to return
- Throws:
IOException
-
getString
Description copied from interface:HttpData
Returns the contents of the file item as a String, using the default character encoding.- Returns:
- the contents of the file item as a String, using the default character encoding.
- Throws:
IOException
-
getString
Description copied from interface:HttpData
Returns the contents of the file item as a String, using the specified charset.- Parameters:
encoding
- the charset to use- Returns:
- the contents of the file item as a String, using the specified charset.
- Throws:
IOException
-
isInMemory
public boolean isInMemory()Description copied from interface:HttpData
Provides a hint as to whether or not the file contents will be read from memory.- Returns:
- True if the file contents is in memory.
-
renameTo
Description copied from interface:HttpData
A convenience method to write an uploaded item to disk. If a previous one exists, it will be deleted. Once this method is called, if successful, the new file will be out of the cleaner of the factory that creates the original InterfaceHttpData object.- Parameters:
dest
- destination file - must be not null- Returns:
- True if the write is successful
- Throws:
IOException
-
readFrom
Utility function- Returns:
- the array of bytes
- Throws:
IOException
-
getFile
- Returns:
- the associated File if this data is represented in a file
- Throws:
IOException
- if this data is not represented by a file
-