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
11 import org.codehaus.plexus.archiver.util.Streams;
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
17
18
19
20 @Named("snappy")
21 public class PlexusIoSnappyResourceCollection extends PlexusIoCompressedFileResourceCollection {
22
23 @Nonnull
24 @Override
25 protected @WillNotClose InputStream getInputStream(File file) throws IOException {
26 return SnappyUnArchiver.getSnappyInputStream(Streams.fileInputStream(file));
27 }
28
29 @Override
30 protected PlexusIoResourceAttributes getAttributes(File file) throws IOException {
31 return new FileAttributes(file);
32 }
33
34 @Override
35 protected String getDefaultExtension() {
36 return ".snappy";
37 }
38 }