A storage stream is created by a storage and has a restrictions
depending on the mode the stream is opened in.
In case a stream is opened with read-write access only one instance of
the stream can exist. It means that the stream can not be reopened
even for readonly access until the read-write instance is disposed.
From the other side it is possible to open multiple streams for
readonly access. But because of the rule mentioned above it will not
be possible to open the stream for read-write access until all the
readonly instances are disposed.
The stream must be disposed by
com::sun::star::lang::XComponent::dispose()
call or by explicit closing of input and output ( if provided )
streams implementations with
com::sun::star::io::XInputStream::closeInput()
and
com::sun::star::io::XOutputStream::closeOutput()
calls.
When a stream is disposed all the changes that were done for it are
automatically flashed, so that they become visible from parent
storage. It is also possible to flash the stream explicitly.
In case parent storage is disposed the stream is disposed
automatically.
In case a stream is disposed any call to its methods should result in
com::sun::star::lang::DisposedException.