org.openstreetmap.osmosis.xml.common.CompressionMethodDeriver Maven / Gradle / Ivy
// This software is released into the Public Domain. See copying.txt for details.
package org.openstreetmap.osmosis.xml.common;
/**
* A utility class for deriving the appropriate compression method based on the
* file extension.
*
* @author Brett Henderson
*/
public class CompressionMethodDeriver {
private static final CompressionMethod DEFAULT_COMPRESSION_METHOD = CompressionMethod.None;
private static final String FILE_SUFFIX_GZIP = ".gz";
private static final String FILE_SUFFIX_BZIP2 = ".bz2";
/**
* Determines the appropriate compression method for a file based upon the
* file extension.
*
* @param fileName
* The name of the file.
* @return The compression method.
*/
public CompressionMethod deriveCompressionMethod(String fileName) {
if (fileName.endsWith(FILE_SUFFIX_GZIP)) {
return CompressionMethod.GZip;
} else if (fileName.endsWith(FILE_SUFFIX_BZIP2)) {
return CompressionMethod.BZip2;
} else {
return DEFAULT_COMPRESSION_METHOD;
}
}
}