org.apache.commons.httpclient.methods
Class InputStreamRequestEntity

java.lang.Object
  extended by org.apache.commons.httpclient.methods.InputStreamRequestEntity
All Implemented Interfaces:
RequestEntity

public class InputStreamRequestEntity
extends Object
implements RequestEntity

A RequestEntity that contains an InputStream.

Since:
3.0

Field Summary
static int CONTENT_LENGTH_AUTO
          The content length will be calculated automatically.
 
Constructor Summary
InputStreamRequestEntity(InputStream content)
          Creates a new InputStreamRequestEntity with the given content and a content type of CONTENT_LENGTH_AUTO.
InputStreamRequestEntity(InputStream content, long contentLength)
          Creates a new InputStreamRequestEntity with the given content and content length.
InputStreamRequestEntity(InputStream content, long contentLength, String contentType)
          Creates a new InputStreamRequestEntity with the given content, content length, and content type.
InputStreamRequestEntity(InputStream content, String contentType)
          Creates a new InputStreamRequestEntity with the given content, content type, and a content length of CONTENT_LENGTH_AUTO.
 
Method Summary
 InputStream getContent()
           
 long getContentLength()
          Gets the content length.
 String getContentType()
          Gets the entity's content type.
 boolean isRepeatable()
          Tests if this method is repeatable.
 void writeRequest(OutputStream out)
          Writes the request entity to the given stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONTENT_LENGTH_AUTO

public static final int CONTENT_LENGTH_AUTO
The content length will be calculated automatically. This implies buffering of the content.

See Also:
Constant Field Values
Constructor Detail

InputStreamRequestEntity

public InputStreamRequestEntity(InputStream content)
Creates a new InputStreamRequestEntity with the given content and a content type of CONTENT_LENGTH_AUTO.

Parameters:
content - The content to set.

InputStreamRequestEntity

public InputStreamRequestEntity(InputStream content,
                                String contentType)
Creates a new InputStreamRequestEntity with the given content, content type, and a content length of CONTENT_LENGTH_AUTO.

Parameters:
content - The content to set.
contentType - The type of the content, or null.

InputStreamRequestEntity

public InputStreamRequestEntity(InputStream content,
                                long contentLength)
Creates a new InputStreamRequestEntity with the given content and content length.

Parameters:
content - The content to set.
contentLength - The content size in bytes or a negative number if not known. If CONTENT_LENGTH_AUTO is given the content will be buffered in order to determine its size when getContentLength() is called.

InputStreamRequestEntity

public InputStreamRequestEntity(InputStream content,
                                long contentLength,
                                String contentType)
Creates a new InputStreamRequestEntity with the given content, content length, and content type.

Parameters:
content - The content to set.
contentLength - The content size in bytes or a negative number if not known. If CONTENT_LENGTH_AUTO is given the content will be buffered in order to determine its size when getContentLength() is called.
contentType - The type of the content, or null.
Method Detail

getContentType

public String getContentType()
Description copied from interface: RequestEntity
Gets the entity's content type. This content type will be used as the value for the "Content-Type" header.

Specified by:
getContentType in interface RequestEntity
Returns:
the entity's content type
See Also:
HttpMethod.setRequestHeader(String, String)

isRepeatable

public boolean isRepeatable()
Tests if this method is repeatable. Only true if the content has been buffered.

Specified by:
isRepeatable in interface RequestEntity
Returns:
true if the entity can be written to OutputStream more than once, false otherwise.
See Also:
getContentLength()

writeRequest

public void writeRequest(OutputStream out)
                  throws IOException
Description copied from interface: RequestEntity
Writes the request entity to the given stream.

Specified by:
writeRequest in interface RequestEntity
Throws:
IOException

getContentLength

public long getContentLength()
Gets the content length. If the content length has not been set, the content will be buffered to determine the actual content length.

Specified by:
getContentLength in interface RequestEntity
Returns:
a non-negative value when content length is known or a negative value when content length is not known

getContent

public InputStream getContent()
Returns:
Returns the content.


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