|
||||||||||
| 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 none| Method 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
HttpContentThe 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 HttpContentIOExceptionpublic String getEncoding()
HttpContent"gzip") or null for none.
getEncoding in interface HttpContentpublic String getType()
HttpContentnull for none.
getType in interface HttpContentpublic 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 | |||||||||