View Javadoc
1   /*
2    * Copyright 2010-2015 The plexus developers.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.codehaus.plexus.archiver.tar;
17  
18  import java.io.IOException;
19  import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
20  import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier;
21  
22  /**
23   * A {@link TarResource} that represents symbolic link.
24   */
25  public class TarSymlinkResource
26      extends TarResource
27      implements SymlinkDestinationSupplier
28  {
29  
30      private final String symlinkDestination;
31  
32      public TarSymlinkResource( TarFile tarFile, TarArchiveEntry entry )
33      {
34          super( tarFile, entry );
35          symlinkDestination = entry.getLinkName();
36      }
37  
38      @Override
39      public String getSymlinkDestination()
40          throws IOException
41      {
42          return symlinkDestination;
43      }
44  
45      @Override
46      public boolean isSymbolicLink()
47      {
48          return true;
49      }
50  
51  }