1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codehaus.plexus.archiver.zip;
17
18 import java.io.IOException;
19
20 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
21 import org.apache.commons.compress.archivers.zip.ZipFile;
22 import org.codehaus.plexus.components.io.functions.InputStreamTransformer;
23 import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier;
24
25
26
27
28 public class ZipSymlinkResource extends ZipResource implements SymlinkDestinationSupplier {
29
30 private final String symlinkDestination;
31
32 public ZipSymlinkResource(ZipFile zipFile, ZipArchiveEntry entry, InputStreamTransformer streamTransformer) {
33 super(zipFile, entry, streamTransformer);
34 try {
35 symlinkDestination = zipFile.getUnixSymlink(entry);
36 } catch (IOException e) {
37 throw new RuntimeException(e);
38 }
39 }
40
41 @Override
42 public String getSymlinkDestination() throws IOException {
43 return symlinkDestination;
44 }
45
46 @Override
47 public boolean isSymbolicLink() {
48 return true;
49 }
50 }