All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.regnis.q.sequence.line.QSequenceLineSystemTempDirectoryFactory Maven / Gradle / Ivy

The newest version!
package de.regnis.q.sequence.line;

import java.io.File;
import java.io.IOException;

/**
 * @author Marc Strapetz
 */
public class QSequenceLineSystemTempDirectoryFactory implements QSequenceLineTempDirectoryFactory {

	// Fields =================================================================

	private File tempDirectory;

	// Setup ==================================================================

	public QSequenceLineSystemTempDirectoryFactory() {
	}

	// Implemented ============================================================

	public File getTempDirectory() throws IOException {
		if (tempDirectory == null) {
			int tries = 0;
			for (;;) {
				try {
					tempDirectory = File.createTempFile("q.sequence.line.", ".temp" + tries);
					tempDirectory.delete();
					break;
				}
				catch (IOException ex) {
					tries++;
					if (tries > 100) {
						throw ex;
					}
				}
			}
		}

		return tempDirectory;
	}

	public void close() {
		tempDirectory.delete();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy