1 package org.codehaus.plexus.archiver.bzip2;
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.components.io.attributes.FileAttributes;
12 import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes;
13 import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection;
14 import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection;
15
16 import static org.codehaus.plexus.archiver.util.Streams.fileInputStream;
17
18
19
20
21
22 @Named("bzip2")
23 public class PlexusIoBzip2ResourceCollection extends PlexusIoCompressedFileResourceCollection {
24
25 @Nonnull
26 @Override
27 protected @WillNotClose InputStream getInputStream(File file) throws IOException {
28 return BZip2UnArchiver.getBZip2InputStream(fileInputStream(file));
29 }
30
31 @Override
32 protected PlexusIoResourceAttributes getAttributes(File file) throws IOException {
33 return new FileAttributes(file);
34 }
35
36 @Override
37 protected String getDefaultExtension() {
38 return ".bz2";
39 }
40 }