|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.google.api.client.http.AbstractInputStreamContent
public abstract class AbstractInputStreamContent
Serializes HTTP request content from an input stream into an output stream.
The type
field is required. Subclasses should implement the HttpContent.getLength()
,
getInputStream()
, and HttpContent.retrySupported()
for their specific type of input stream.
Implementations don't need to be thread-safe.
Constructor Summary | |
---|---|
AbstractInputStreamContent(String type)
|
Method Summary | |
---|---|
static void |
copy(InputStream inputStream,
OutputStream outputStream)
Writes the content provided by the given source input stream into the given destination output stream. |
static void |
copy(InputStream inputStream,
OutputStream outputStream,
boolean closeInputStream)
Writes the content provided by the given source input stream into the given destination output stream. |
boolean |
getCloseInputStream()
Returns whether the input stream should be closed at the end of writeTo(java.io.OutputStream) . |
String |
getEncoding()
Returns the content encoding (for example "gzip" ) or null for none. |
abstract InputStream |
getInputStream()
Return an input stream for the specific implementation type of AbstractInputStreamContent . |
String |
getType()
Returns the content type or null for none. |
AbstractInputStreamContent |
setCloseInputStream(boolean closeInputStream)
Sets whether the input stream should be closed at the end of writeTo(java.io.OutputStream) . |
AbstractInputStreamContent |
setEncoding(String encoding)
Sets the content encoding (for example "gzip" ) or null for none. |
AbstractInputStreamContent |
setType(String type)
Sets the content type or null for none. |
void |
writeTo(OutputStream out)
Writes the content to the given output stream. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.google.api.client.http.HttpContent |
---|
getLength, retrySupported |
Constructor Detail |
---|
public AbstractInputStreamContent(String type)
type
- Content type or null
for noneMethod Detail |
---|
public abstract InputStream getInputStream() throws IOException
AbstractInputStreamContent
. 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.
Upgrade warning: in prior version 1.6 getInputStream()
was protected, it is now public.
IOException
public void writeTo(OutputStream out) throws IOException
HttpContent
The recommendation for implementations is that they should not close the output stream. Callers should not assume whether or not the output stream has been closed. Implementations that do not close the output stream should flush it at the end of the method.
writeTo
in interface HttpContent
IOException
public String getEncoding()
HttpContent
"gzip"
) or null
for none.
getEncoding
in interface HttpContent
public String getType()
HttpContent
null
for none.
getType
in interface HttpContent
public final boolean getCloseInputStream()
writeTo(java.io.OutputStream)
. Default is
true
.
public AbstractInputStreamContent setEncoding(String encoding)
"gzip"
) or null
for none. Subclasses
should override by calling super.
public AbstractInputStreamContent setType(String type)
null
for none. Subclasses should override by calling super.
public AbstractInputStreamContent setCloseInputStream(boolean closeInputStream)
writeTo(java.io.OutputStream)
. Default is
true
. Subclasses should override by calling super.
public static void copy(InputStream inputStream, OutputStream outputStream) throws IOException
The input stream is guaranteed to be closed at the end of this method.
Sample use:
static void downloadMedia(HttpResponse response, File file)
throws IOException {
FileOutputStream out = new FileOutputStream(file);
try {
AbstractInputStreamContent.copy(response.getContent(), out);
} finally {
out.close();
}
}
inputStream
- source input streamoutputStream
- destination output stream
IOException
public static void copy(InputStream inputStream, OutputStream outputStream, boolean closeInputStream) throws IOException
Sample use:
static void downloadMedia(HttpResponse response, File file)
throws IOException {
FileOutputStream out = new FileOutputStream(file);
try {
AbstractInputStreamContent.copy(response.getContent(), out, true);
} finally {
out.close();
}
}
inputStream
- source input streamoutputStream
- destination output streamcloseInputStream
- whether the input stream should be closed at the end of this method
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |