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.HashMap;
10 import java.util.zip.GZIPInputStream;
11
12 import org.codehaus.plexus.components.io.attributes.FileAttributes;
13 import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes;
14 import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection;
15
16 import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream;
17 import static org.codehaus.plexus.archiver.util.Streams.fileInputStream;
18
19
20
21
22
23 @Named("gzip")
24 public class PlexusIoGzipResourceCollection extends PlexusIoCompressedFileResourceCollection {
25
26 @Override
27 protected String getDefaultExtension() {
28 return ".gz";
29 }
30
31 @Nonnull
32 @Override
33 protected InputStream getInputStream(File file) throws IOException {
34 return bufferedInputStream(new GZIPInputStream(fileInputStream(file)));
35 }
36
37 @Override
38 protected PlexusIoResourceAttributes getAttributes(File file) throws IOException {
39 return new FileAttributes(file, new HashMap<Integer, String>(), new HashMap<Integer, String>());
40 }
41 }