package org.codehaus.plexus.components.io.resources;
import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes;
import org.codehaus.plexus.components.io.attributes.SymlinkUtils;
import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier;
import javax.annotation.Nonnull;
import java.io.File;
import java.io.IOException;
public class PlexusIoSymlinkResource
extends PlexusIoFileResource
implements SymlinkDestinationSupplier
{
private final File symnlinkDestination;
PlexusIoSymlinkResource( @Nonnull File symlinkfile, String name, @Nonnull PlexusIoResourceAttributes attrs )
throws IOException
{
super( symlinkfile, name, attrs);
this.symnlinkDestination = null;
}
public String getSymlinkDestination()
throws IOException
{
return symnlinkDestination == null ? SymlinkUtils.readSymbolicLink( getFile() ).getPath() : symnlinkDestination.getPath();
}
}