Package org.apache.qpid.protonj2.client
Class OutputStreamOptions
java.lang.Object
org.apache.qpid.protonj2.client.OutputStreamOptions
- All Implemented Interfaces:
Cloneable
Options class that controls various aspects of a
OutputStream
instance created to write
the contents of a section of a StreamSenderMessage
.-
Field Summary
Modifier and TypeFieldDescriptionstatic final boolean
Defines the default value for the complete parentStreamSenderMessage
on close option -
Constructor Summary
ConstructorDescriptionCreates aOutputStreamOptions
instance with default values for all optionsOutputStreamOptions
(OutputStreamOptions options) Create aOutputStreamOptions
instance that copies all configuration from the givenOutputStreamOptions
instance. -
Method Summary
Modifier and TypeMethodDescriptionint
bodyLength
(int streamSize) Sets the overall stream size for this associatedOutputStream
that the options are applied to.clone()
boolean
completeSendOnClose
(boolean completeContextOnClose) Configures if the close of theOutputStream
should result in a completion of the parentStreamSenderMessage
(default is true).protected OutputStreamOptions
copyInto
(OutputStreamOptions other) Copy all options from thisOutputStreamOptions
instance into the instance provided.
-
Field Details
-
DEFAULT_COMPLETE_SEND_ON_CLOSE
public static final boolean DEFAULT_COMPLETE_SEND_ON_CLOSEDefines the default value for the complete parentStreamSenderMessage
on close option- See Also:
-
-
Constructor Details
-
OutputStreamOptions
public OutputStreamOptions()Creates aOutputStreamOptions
instance with default values for all options -
OutputStreamOptions
Create aOutputStreamOptions
instance that copies all configuration from the givenOutputStreamOptions
instance.- Parameters:
options
- The options instance to copy all configuration values from.
-
-
Method Details
-
clone
-
copyInto
Copy all options from thisOutputStreamOptions
instance into the instance provided.- Parameters:
other
- the target of this copy operation.- Returns:
- the
OutputStreamOptions
that was given.
-
bodyLength
public int bodyLength()- Returns:
- the configured stream size limit for associated
OutputStream
-
bodyLength
Sets the overall stream size for this associatedOutputStream
that the options are applied to.When set this option indicates the number of bytes that can be written to the stream before an error would be thrown indicating that this value was exceeded. Conversely if the stream is closed before the number of bytes indicated is written the send will be aborted and an error will be thrown to the caller.
- Parameters:
streamSize
- The fixed number of bytes that must be written in order for the stream to be complete.- Returns:
- this
OutputStreamOptions
instance.
-
completeSendOnClose
public boolean completeSendOnClose()- Returns:
- the whether the close of the
OutputStream
should complete the parentStreamSenderMessage
-
completeSendOnClose
Configures if the close of theOutputStream
should result in a completion of the parentStreamSenderMessage
(default is true). If there is a configured stream size and theOutputStream
is closed the parentStreamSenderMessage
will always be aborted as the send would be incomplete, but the close of anOutputStream
may not always be the desired outcome. In the case the user wishes to add aFooter
to the message transmitted by theStreamSenderMessage
this option should be set to false and the user should complete the stream manually.- Parameters:
completeContextOnClose
- Should theOutputStream.close()
method complete the parentStreamSenderMessage
- Returns:
- this
OutputStreamOptions
instance.
-