--- Antoine Levy-Lambert <[EMAIL PROTECTED]> wrote:
> Hello Kevin,
>
> NioFileUtils should go into another package
> org.apache.tools.ant.util.java14 otherwise we are
> going to have build
> problems under java 1.2
> This should be entered in the build.xml (selector
> needs.jdk14+)
> Therefore NioFileUtils would be packaged in
> ant-nodeps.jar
>
I don't really care either way here, but couldn't we
explicitly exclude the file(s)? Why must they live in
another directory?
> We need also a FileUtilsFactory. The
> FileUtilsFactory would instantiate
> NioFileUtils if the java runtime is 1.4 or 1.5, the
> normal FileUtils
> otherwise.
> This should be developed along the lines of the
> RegexpFactory, which
> means no imports of optional classes such as
> NioFileUtils or
> Java16FileUtils.
I found it in Kev's (long :) mail:
package org.apache.tools.ant.util;
public class FileUtilsAdapterFactory {
private FileUtilsAdapterFactory() {}
public static FileUtilsAdapter getFileUtils(final
String type) {
if (type.equals("nio")) {
//just print out to see if it's actually
picking up the correct class
System.out.println("Using nio fileutils");
return new NioFileUtils();
} else if (type.equals("java6")) {
System.out.println("Using java6
fileutils");
return new Java6FileUtils();
} else {
System.out.println("Using classic
fileutils");
return new FileUtils();
}
}
public static FileUtilsAdapter getBestFileUtils()
{
final int v =
JavaEnvUtils.getJavaVersionNumber();
if (v >= 16) {
return getFileUtils("java6");
} else if (v >=14) {
return getFileUtils("nio");
} else {
return new FileUtils();
}
}
}
Since the other impls will be conditionally compiled,
we should use Class.forInstance()...
>
> Similarly, users of FileUtils would call
> FileUtilsFactory.newFileUtils(Project p) instead of
> FileUtils.newFileUtils() where a project member
> variable is available,
> otherwise FileUtilsFactory.newFileUtils().
What would the Project reference be used for?
Kev: your mail showed:
public class NioFileUtils extends FileUtils implements
FileUtilsAdapter {...}
public class Java6FileUtils extends FileUtils
implements FileUtilsAdapter {...}
But shouldn't that actually be:
+public class FileUtils implements FileUtilsAdapter
{...}
public class NioFileUtils extends FileUtils {...}
public class Java6FileUtils extends NioFileUtils {...}
?
br,
Matt
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]