I don't know if it helps this debate, but when I went thru JDK 1.5
changes for IO I came up with the following (which are mostly
generifying methods):

ConditionalFileFilter (interface)
  - public List<IOFileFilter> getFileFilters()
  - public void setFileFilters(final List<IOFileFilter> fileFilters) {

AndFileFilter
  - public AndFileFilter(final List<IOFileFilter> fileFilters)
  - public List<IOFileFilter> getFileFilters()
  - public void setFileFilters(final List<IOFileFilter> fileFilters) {

OrFileFilter
  - public OrFileFilter(final List<IOFileFilter> fileFilters)
  - public List<IOFileFilter> getFileFilters()
  - public void setFileFilters(final List<IOFileFilter> fileFilters) {

NameFileFilter
 - public NameFileFilter(List<String> names)
 - public NameFileFilter(List<String> names, IOCase caseSensitivity)

PrefixFileFilter
 - public PrefixFileFilter(List<String> prefixes)
 - public PrefixFileFilter(List<String> names, IOCase caseSensitivity)

SuffixFileFilter
 - public SuffixFileFilter(List<String> prefixes)
 - public SuffixFileFilter(List<String> names, IOCase caseSensitivity)

WildcardFileFilter
 - public WildcardFileFilter(List<String> prefixes)
 - public WildcardFileFilter(List<String> names, IOCase caseSensitivity)

FileUtils
 - public static File[] convertFileCollectionToFileArray(Collection<File> files)
 - public static Collection<File> listFiles(
 - public static void writeStringToFile(File file, CharSequence data,
String encoding)
   [note CharSequence version replaces String falvour]

ClassLoaderObjectInputStream
 - protected Class<?> resolveClass(ObjectStreamClass objectStreamClass)

ProxyReader
 -  public int read(CharBuffer target) [new method added]

IOUtils
 - public static List<String> readLines(Reader input)
 - public static InputStream toInputStream(CharSequence input)
 - public static InputStream toInputStream(CharSequence input, String encoding)
 - public static void write(CharSequence data, Writer output)
 - public static void write(CharSequence data, OutputStream output)
 - public static void write(CharSequence data, OutputStream output,
String encoding)
[Note CharSequence replaces String and/or StringBuffer flavours]

LineIterator
 - public class LineIterator implements Iterator<String>
 - public String next()   [was returning Object]

NullWriter, ProxyWriter
 - add public Writer append(char c)
 - add public Writer append(CharSequence csq, int start, int end)
 - add public Writer append(CharSequence csq)

So the changes are pretty minimal for IO - question is are these
incompatible changes with generics being erased? If not then perhaps
we can do this without breaking anything.

Niall

On Feb 5, 2008 4:47 AM, Niall Pemberton <[EMAIL PROTECTED]> wrote:
> We've discussed moving to a minimum of JDK 1.5 for IO 2.0 previously -
> theres also an JIRA report here:
>    http://issues.apache.org/jira/browse/IO-140
>
> From memory the preference was to move to a new package name  - how
> about "org.apache.commons.io2"?
>
> Are there any objections to me creating an IO 1.4 branch from the
> current trunk and then starting work on IO 2.0 in the trunk.
>
> Initial plans would be:
>
>  - rename to the new package
>  - remove deprecated items
>  - Making appropriate JDK 1.5 changes (generics, using StringBuilder
> and new Appendable for Writers etc).
>
> Niall
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to