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