1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codehaus.plexus.archiver.resources;
17
18 import java.io.File;
19 import java.io.IOException;
20
21 import org.codehaus.plexus.components.io.attributes.SymlinkUtils;
22 import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier;
23
24
25
26
27 public class PlexusIoVirtualSymlinkResource extends PlexusIoVirtualFileResource implements SymlinkDestinationSupplier {
28
29 private final String symnlinkDestination;
30
31 public PlexusIoVirtualSymlinkResource(File symlinkFile, String symnlinkDestination) {
32 super(symlinkFile, getName(symlinkFile));
33 this.symnlinkDestination = symnlinkDestination;
34 }
35
36 @Override
37 public String getSymlinkDestination() throws IOException {
38 return symnlinkDestination == null
39 ? SymlinkUtils.readSymbolicLink(getFile()).toString()
40 : symnlinkDestination;
41 }
42
43 @Override
44 public boolean isSymbolicLink() {
45 return true;
46 }
47 }