[
https://issues.apache.org/jira/browse/IO-546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tomas Celaya updated IO-546:
----------------------------
Description: While debugging an issue involving usage of
{{CloseShieldOutputStream}} I discovered that {{ClosedOutputStream#flush}} is
not overridden and will silently succeed. Not sure how much of a breaking
change this might be but I think it makes more sense for
{{ClosedOutputStream#flush}} to throw. This is only really meaningful in
contexts where multiple streams are being chained together and some of the
streams before {{CloseShieldOutputStream}} perform buffering, but it would make
behavior more consistent for these more complex use-cases. (was: While
debugging an issue involving usage of {{CloseShieldOutputStream}} I discovered
that {{ClosedOutputStream#flush}} is not overridden and will silently succeed.
Not sure how much of a breaking change this might be but I think it makes more
sense for {{ClosedOutputStream#flush}} to throw. This is only really meaningful
in contexts where multiple streams are being chained together and some of the
streams before {{CloseShieldOutputStream}} perform buffering, but it would make
behavior more consistent for these more complex use-cases.
No patches are included because I'm interested in hearing what the opinion
would be on this issue. I can provide a patch if this seems like desired
behavior.)
> ClosedOutputStream#flush should throw
> -------------------------------------
>
> Key: IO-546
> URL: https://issues.apache.org/jira/browse/IO-546
> Project: Commons IO
> Issue Type: Improvement
> Components: Streams/Writers
> Reporter: Tomas Celaya
> Priority: Minor
> Attachments: IO-546.patch
>
>
> While debugging an issue involving usage of {{CloseShieldOutputStream}} I
> discovered that {{ClosedOutputStream#flush}} is not overridden and will
> silently succeed. Not sure how much of a breaking change this might be but I
> think it makes more sense for {{ClosedOutputStream#flush}} to throw. This is
> only really meaningful in contexts where multiple streams are being chained
> together and some of the streams before {{CloseShieldOutputStream}} perform
> buffering, but it would make behavior more consistent for these more complex
> use-cases.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)