View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.plugin.compiler;
20  
21  import java.util.Objects;
22  
23  /**
24   * Simple representation of a Maven dependency exclusion.
25   */
26  public class DependencyExclusion {
27      private String groupId;
28  
29      private String artifactId;
30  
31      private String classifier;
32  
33      private String extension = "jar";
34  
35      public String getGroupId() {
36          return groupId;
37      }
38  
39      public void setGroupId(String groupId) {
40          this.groupId = groupId;
41      }
42  
43      public String getArtifactId() {
44          return artifactId;
45      }
46  
47      public void setArtifactId(String artifactId) {
48          this.artifactId = artifactId;
49      }
50  
51      public String getClassifier() {
52          return classifier;
53      }
54  
55      public void setClassifier(String classifier) {
56          this.classifier = classifier;
57      }
58  
59      public String getExtension() {
60          return extension;
61      }
62  
63      public void setExtension(String extension) {
64          this.extension = extension;
65      }
66  
67      @Override
68      public boolean equals(Object obj) {
69          if (this == obj) {
70              return true;
71          }
72          if (obj == null || getClass() != obj.getClass()) {
73              return false;
74          }
75          DependencyExclusion other = (DependencyExclusion) obj;
76          return Objects.equals(groupId, other.groupId)
77                  && Objects.equals(artifactId, other.artifactId)
78                  && Objects.equals(classifier, other.classifier)
79                  && Objects.equals(extension, other.extension);
80      }
81  
82      @Override
83      public int hashCode() {
84          return Objects.hash(groupId, artifactId, classifier, extension);
85      }
86  
87      @Override
88      public String toString() {
89          return groupId + ":" + artifactId + (classifier != null ? ":" + classifier : "")
90                  + (extension != null ? "." + extension : "");
91      }
92  }