View Javadoc
1   package org.apache.maven.shared.transfer.dependencies;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.model.Dependency;
23  import org.apache.maven.model.Extension;
24  import org.apache.maven.model.Model;
25  import org.apache.maven.model.Parent;
26  import org.apache.maven.model.Plugin;
27  import org.apache.maven.model.ReportPlugin;
28  
29  /**
30   * Utility class to convert different things like {@link Dependency}, {@link Extension}, {@link Model}, {@link Parent},
31   * {@link Plugin} and {@link ReportPlugin} into {@link DependableCoordinate}.
32   * 
33   * @author Robert Scholte
34   */
35  public final class TransferUtils
36  {
37      private TransferUtils()
38      {
39      }
40      
41      /**
42       * @param dependency {@link Dependency} to be converted to {@link DependableCoordinate}
43       * @return {@link DependableCoordinate}
44       */
45      public static DependableCoordinate toDependableCoordinate( Dependency dependency )
46      {
47          DefaultDependableCoordinate coordinate = new DefaultDependableCoordinate();
48          
49          coordinate.setGroupId( dependency.getGroupId() );
50          coordinate.setArtifactId( dependency.getArtifactId() );
51          coordinate.setVersion( dependency.getVersion() );
52          coordinate.setType( dependency.getType() );
53          coordinate.setClassifier( dependency.getClassifier() );
54          
55          return coordinate;
56      }
57  
58      /**
59       * @param extension {@link Extension} to be converted to {@link DependableCoordinate}
60       * @return {@link DependableCoordinate}
61       */
62      public static DependableCoordinate toDependableCoordinate( Extension extension )
63      {
64          DefaultDependableCoordinate coordinate = new DefaultDependableCoordinate();
65          
66          coordinate.setGroupId( extension.getGroupId() );
67          coordinate.setArtifactId( extension.getArtifactId() );
68          coordinate.setVersion( extension.getVersion() );
69          
70          return coordinate;
71      }
72  
73      /**
74       * @param model {@link Model} coordinates to be converted to {@link DependableCoordinate}.
75       * @return {@link DependableCoordinate}
76       */
77      public static DependableCoordinate toDependableCoordinate( Model model )
78      {
79          DefaultDependableCoordinate coordinate = new DefaultDependableCoordinate();
80          
81          coordinate.setGroupId( model.getGroupId() );
82          coordinate.setArtifactId( model.getArtifactId() );
83          coordinate.setVersion( model.getVersion() );
84          coordinate.setType( model.getPackaging() );
85          
86          return coordinate;
87      }
88  
89      /**
90       * @param parent {@link Parent parent} coordinates to be converted to {@link DependableCoordinate}.
91       * @return {@link DependableCoordinate}.
92       */
93      public static DependableCoordinate toDependableCoordinate( Parent parent )
94      {
95          DefaultDependableCoordinate coordinate = new DefaultDependableCoordinate();
96          
97          coordinate.setGroupId( parent.getGroupId() );
98          coordinate.setArtifactId( parent.getArtifactId() );
99          coordinate.setVersion( parent.getVersion() );
100         coordinate.setType( "pom" );
101         
102         return coordinate;
103     }
104 
105     /**
106      * @param plugin The {@link Plugin plugin} coordiantes which should be converted. 
107      * @return {@link DependableCoordinate}.
108      */
109     public static DependableCoordinate toDependableCoordinate( Plugin plugin )
110     {
111         DefaultDependableCoordinate coordinate = new DefaultDependableCoordinate();
112         
113         coordinate.setGroupId( plugin.getGroupId() );
114         coordinate.setArtifactId( plugin.getArtifactId() );
115         coordinate.setVersion( plugin.getVersion() );
116         
117         return coordinate;
118     }
119     
120     /**
121      * Convert {@link ReportPlugin plugin} coordinates to {@link DependableCoordinate}.
122      * @param plugin The {@link ReportPlugin plugin} to be converted to {@link DependableCoordinate}.
123      * @return The converted {@link DependableCoordinate} coordinates.
124      */
125     public static DependableCoordinate toDependableCoordinate( ReportPlugin plugin )
126     {
127         DefaultDependableCoordinate coordinate = new DefaultDependableCoordinate();
128         
129         coordinate.setGroupId( plugin.getGroupId() );
130         coordinate.setArtifactId( plugin.getArtifactId() );
131         coordinate.setVersion( plugin.getVersion() );
132         
133         return coordinate;
134     }
135 
136 }