public final class ByteArrayContent extends AbstractInputStreamContent
AbstractInputStreamContent that generates repeatable input
streams based on the contents of byte array.
Sample use:
static void setJsonContent(HttpRequest request, byte[] json) {
request.setContent(new ByteArrayContent("application/json", json));
}
Implementation is not thread-safe.
| Constructor and Description |
|---|
ByteArrayContent(String type,
byte[] array)
Constructor from byte array content that has already been encoded.
|
ByteArrayContent(String type,
byte[] array,
int offset,
int length)
Constructor from byte array content that has already been encoded, specifying a range of bytes
to read from the input byte array.
|
| Modifier and Type | Method and Description |
|---|---|
static ByteArrayContent |
fromString(String type,
String contentString)
Returns a new instance with the UTF-8 encoding (using
StringUtils.getBytesUtf8(String))
of the given content string. |
InputStream |
getInputStream()
Return an input stream for the specific implementation type of
AbstractInputStreamContent. |
long |
getLength()
Returns the content length or less than zero if not known.
|
boolean |
retrySupported()
Returns whether or not retry is supported on this content type.
|
ByteArrayContent |
setCloseInputStream(boolean closeInputStream)
Sets whether the input stream should be closed at the end of
AbstractInputStreamContent.writeTo(java.io.OutputStream). |
ByteArrayContent |
setEncoding(String encoding)
Sets the content encoding (for example
"gzip") or null for none. |
ByteArrayContent |
setType(String type)
Sets the content type or
null for none. |
copy, copy, getCloseInputStream, getEncoding, getType, writeTopublic ByteArrayContent(String type, byte[] array)
type - content type or null for nonearray - byte array contentpublic ByteArrayContent(String type, byte[] array, int offset, int length)
type - content type or null for nonearray - byte array contentoffset - starting offset into the byte arraylength - of bytes to read from byte arraypublic static ByteArrayContent fromString(String type, String contentString)
StringUtils.getBytesUtf8(String))
of the given content string.
Sample use:
static void setJsonContent(HttpRequest request, String json) {
request.setContent(ByteArrayContent.fromString("application/json", json));
}
type - content type or null for nonecontentString - content stringpublic long getLength()
HttpContentpublic boolean retrySupported()
HttpContentpublic InputStream getInputStream()
AbstractInputStreamContentAbstractInputStreamContent. If the specific implementation will return true for
HttpContent.retrySupported() this should be a factory function which will create a new
InputStream from the source data whenever invoked.getInputStream in class AbstractInputStreamContentpublic ByteArrayContent setEncoding(String encoding)
AbstractInputStreamContent"gzip") or null for none. Subclasses
should override by calling super.setEncoding in class AbstractInputStreamContentpublic ByteArrayContent setType(String type)
AbstractInputStreamContentnull for none. Subclasses should override by calling super.setType in class AbstractInputStreamContentpublic ByteArrayContent setCloseInputStream(boolean closeInputStream)
AbstractInputStreamContentAbstractInputStreamContent.writeTo(java.io.OutputStream). Default is
true. Subclasses should override by calling super.setCloseInputStream in class AbstractInputStreamContentCopyright © 2011-2012 Google. All Rights Reserved.