1 package org.codehaus.plexus.archiver.gzip;
2
3 import javax.annotation.Nonnull;
4 import javax.inject.Named;
5
6 import java.io.File;
7 import java.io.IOException;
8 import java.io.InputStream;
9 import java.util.zip.GZIPInputStream;
10
11 import org.codehaus.plexus.components.io.attributes.FileAttributes;
12 import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes;
13 import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection;
14
15 import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream;
16 import static org.codehaus.plexus.archiver.util.Streams.fileInputStream;
17
18
19
20
21
22 @Named("gzip")
23 public class PlexusIoGzipResourceCollection extends PlexusIoCompressedFileResourceCollection {
24
25 @Override
26 protected String getDefaultExtension() {
27 return ".gz";
28 }
29
30 @Nonnull
31 @Override
32 protected InputStream getInputStream(File file) throws IOException {
33 return bufferedInputStream(new GZIPInputStream(fileInputStream(file)));
34 }
35
36 @Override
37 protected PlexusIoResourceAttributes getAttributes(File file) throws IOException {
38 return new FileAttributes(file);
39 }
40 }