Package com.google.api.client.http
Class AbstractInputStreamContent
java.lang.Object
com.google.api.client.http.AbstractInputStreamContent
- All Implemented Interfaces:
HttpContent
,StreamingContent
- Direct Known Subclasses:
ByteArrayContent
,FileContent
,InputStreamContent
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.
By default, all content is read from the input stream. If instead you want to limit the maximum
amount of content read from the input stream, you may use ByteStreams.limit(InputStream, long)
.
Implementations don't need to be thread-safe.
- Since:
- 1.4
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
Whether the input stream should be closed at the end ofwriteTo(java.io.OutputStream)
.private String
Content type ornull
for none. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
Returns whether the input stream should be closed at the end ofwriteTo(java.io.OutputStream)
.abstract InputStream
Return an input stream for the specific implementation type ofAbstractInputStreamContent
.getType()
Returns the content type ornull
for none.setCloseInputStream
(boolean closeInputStream) Sets whether the input stream should be closed at the end ofwriteTo(java.io.OutputStream)
.Sets the content type ornull
for none.void
writeTo
(OutputStream out) Writes the byte 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
-
Field Details
-
type
Content type ornull
for none. -
closeInputStream
private boolean closeInputStreamWhether the input stream should be closed at the end ofwriteTo(java.io.OutputStream)
. Default istrue
.
-
-
Constructor Details
-
AbstractInputStreamContent
- Parameters:
type
- Content type ornull
for none- Since:
- 1.5
-
-
Method Details
-
getInputStream
Return an input stream for the specific implementation type ofAbstractInputStreamContent
. If the specific implementation will returntrue
forHttpContent.retrySupported()
this should be a factory function which will create a newInputStream
from the source data whenever invoked.- Throws:
IOException
- Since:
- 1.7
-
writeTo
Description copied from interface:StreamingContent
Writes the byte content to the given output stream.Implementations must not close the output stream, and instead should flush the output stream. Some callers may assume that the output stream has not been closed, and will fail to work if it has been closed.
- Specified by:
writeTo
in interfaceHttpContent
- Specified by:
writeTo
in interfaceStreamingContent
- Parameters:
out
- output stream- Throws:
IOException
-
getType
Description copied from interface:HttpContent
Returns the content type ornull
for none.- Specified by:
getType
in interfaceHttpContent
-
getCloseInputStream
public final boolean getCloseInputStream()Returns whether the input stream should be closed at the end ofwriteTo(java.io.OutputStream)
. Default istrue
.- Since:
- 1.7
-
setType
Sets the content type ornull
for none. Subclasses should override by calling super.- Since:
- 1.5
-
setCloseInputStream
Sets whether the input stream should be closed at the end ofwriteTo(java.io.OutputStream)
. Default istrue
. Subclasses should override by calling super.- Since:
- 1.7
-