public static synchronized void | setUpDirectory(java.io.File baseDir)Sets up the temporary directory, but only if one isn't already
defined for this process, and only if it is possible (e.g., the
directory already exists and is read-write, or the directory
can be created). This call will do one of three things:
- return without error and without doing anything, if a
previous call to this method succeeded
- return without error, having either created a temporary
directory under the given base or verified that such a directory
already exists
- throw
UnsupportedOperationException if the
directory could not be created or accessed
if (configured) {
Logger.global.info("Already set to: " +
System.getProperty(PROPERTY));
return;
}
File dir = new File(baseDir, PATH_NAME);
String absolute = dir.getAbsolutePath();
if (dir.exists()) {
if (!dir.isDirectory()) {
throw new UnsupportedOperationException(
"Name is used by a non-directory file: " +
absolute);
} else if (!(dir.canRead() && dir.canWrite())) {
throw new UnsupportedOperationException(
"Existing directory is not readable and writable: " +
absolute);
}
} else {
if (!dir.mkdirs()) {
throw new UnsupportedOperationException(
"Failed to create directory: " + absolute);
}
}
System.setProperty(PROPERTY, absolute);
configured = true;
|