org.apache.http.entity
Class FileEntity

java.lang.Object
  extended by org.apache.http.entity.AbstractHttpEntity
      extended by org.apache.http.entity.FileEntity
All Implemented Interfaces:
java.lang.Cloneable, HttpEntity
Direct Known Subclasses:
FileNIOEntity

public class FileEntity
extends AbstractHttpEntity
implements java.lang.Cloneable

An entity whose content is retrieved from a file.

Since:
4.0
Version:
$Revision: 604625 $
Author:
Oleg Kalnichevski

Field Summary
protected  java.io.File file
           
 
Fields inherited from class org.apache.http.entity.AbstractHttpEntity
chunked, contentEncoding, contentType
 
Constructor Summary
FileEntity(java.io.File file, java.lang.String contentType)
           
 
Method Summary
 java.lang.Object clone()
           
 java.io.InputStream getContent()
          Creates a new InputStream object of the entity.
 long getContentLength()
          Tells the length of the content, if known.
 boolean isRepeatable()
          Tells if the entity is capable to produce its data more than once.
 boolean isStreaming()
          Tells that this entity is not streaming.
 void writeTo(java.io.OutputStream outstream)
          Writes the entity content to the output stream.
 
Methods inherited from class org.apache.http.entity.AbstractHttpEntity
consumeContent, getContentEncoding, getContentType, isChunked, setChunked, setContentEncoding, setContentEncoding, setContentType, setContentType
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

file

protected final java.io.File file
Constructor Detail

FileEntity

public FileEntity(java.io.File file,
                  java.lang.String contentType)
Method Detail

isRepeatable

public boolean isRepeatable()
Description copied from interface: HttpEntity
Tells if the entity is capable to produce its data more than once. A repeatable entity's getContent() and writeTo(OutputStream) methods can be called more than once whereas a non-repeatable entity's can not.

Specified by:
isRepeatable in interface HttpEntity
Returns:
true if the entity is repeatable, false otherwise.

getContentLength

public long getContentLength()
Description copied from interface: HttpEntity
Tells the length of the content, if known.

Specified by:
getContentLength in interface HttpEntity
Returns:
the number of bytes of the content, or a negative number if unknown. If the content length is known but exceeds Long.MAX_VALUE, a negative number is returned.

getContent

public java.io.InputStream getContent()
                               throws java.io.IOException
Description copied from interface: HttpEntity
Creates a new InputStream object of the entity. It is a programming error to return the same InputStream object more than once. Entities that are not repeatable will throw an exception if this method is called multiple times.

Specified by:
getContent in interface HttpEntity
Returns:
a new input stream that returns the entity data.
Throws:
java.io.IOException - if the stream could not be created

writeTo

public void writeTo(java.io.OutputStream outstream)
             throws java.io.IOException
Description copied from interface: HttpEntity
Writes the entity content to the output stream.

Specified by:
writeTo in interface HttpEntity
Parameters:
outstream - the output stream to write entity content to
Throws:
java.io.IOException - if an I/O error occurs

isStreaming

public boolean isStreaming()
Tells that this entity is not streaming.

Specified by:
isStreaming in interface HttpEntity
Returns:
false

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException


Copyright © 2005-2008 Apache Software Foundation. All Rights Reserved.