Hi Rob, I imagine that the classes you mention might be missing based on the YAGNI principle. I offer that you consider real use cases before plunging into implementation. We do not want to bloat this component just for the sake of completeness.
Don't forget to get as close as possible to 100% code coverage with unit tests for new code in your PRs ;-) Gary On Thu, Aug 1, 2019 at 6:39 AM Rob Spoor <apa...@icemanx.nl> wrote: > Hi, > > I noticed that a lot of InputStream / OutputStream implementations do > not have a matching Reader / Writer implementation. Some would really be > useful. > > I've made an overview of classes that could be added: > * AutoCloseReader > * BrokenReader > * CloseShieldReader > * ClosedReader > * CountingReader > * DemuxReader > * InfiniteCircularReader > * ObservableReader > * TaggedReader > * TeeReader > * UnixLineEndingReader > * WindowsLineEndingReader > > * AppendableWriter > * BrokenWriter > * CloseShieldWriter > * ClosedWriter > * CountingWriter > * DeferredFileWriter > * DemuxWriter > * TaggedWriter > * TeeWriter > * ThresholdingWriter > > > I am willing to write the following (based on the InputStream > implementations), if needed. I have signed the ICLA, have a JIRA account > (username Spoor) and a GitHub account (username robtimus): > > * AutoCloseReader > * BrokenReader > * CloseShieldReader > * ClosedReader > * CountingReader > * TaggedReader > * TeeReader > > * AppendableWriter > * BrokenWriter > * CloseShieldWriter > * ClosedWriter > * CountingWriter > * TaggedWriter > * TeeWriter > > > In addition, if AppendableWriter is added, I think there should be a > method added to IOUtils, to prevent having to create an AppendableWriter > for an object that's already a Writer: > > public static Writer writer(final Appendable appendable) { > if (appendable == null) { > throw new NullPointerException(); > } > return appendable instanceof Writer ? > (Writer) appendable : new AppendableWriter(appendable); > } > > > Kind regards, > > Rob > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > >