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