/*
* SK's Minecraft Launcher
* Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors
* Please see LICENSE.txt for license information.
*/
package com.skcraft.launcher.builder;
import org.apache.commons.compress.compressors.CompressorException;
import org.apache.commons.compress.compressors.CompressorStreamFactory;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Compressor {
private static final CompressorStreamFactory factory = new CompressorStreamFactory();
private final String extension;
private final String format;
public Compressor(String extension, String format) {
this.extension = extension;
this.format = format;
}
public String transformPathname(String filename) {
return filename + "." + extension;
}
public InputStream createInputStream(InputStream inputStream) throws IOException {
try {
return factory.createCompressorInputStream(format, inputStream);
} catch (CompressorException e) {
throw new IOException("Failed to create decompressor", e);
}
}
public OutputStream createOutputStream(OutputStream outputStream) throws IOException {
try {
return factory.createCompressorOutputStream(format, outputStream);
} catch (CompressorException e) {
throw new IOException("Failed to create compressor", e);
}
}
}