]> source.dussan.org Git - sonarqube.git/blob
d028b949ce2db90d8b059e370ff671cbf8e58110
[sonarqube.git] /
1 /*
2  * Sonar, open source software quality management tool.
3  * Copyright (C) 2009 SonarSource SA
4  * mailto:contact AT sonarsource DOT com
5  *
6  * Sonar is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 3 of the License, or (at your option) any later version.
10  *
11  * Sonar is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with Sonar; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
19  */
20 package org.sonar.updatecenter.common;
21
22 import org.apache.commons.lang.StringUtils;
23
24 public final class Plugin extends Artifact {
25
26   private String name;
27   private String description;
28   private String homepageUrl;
29   private String license;
30   private String organization;
31   private String organizationUrl;
32   private String termsConditionsUrl;
33   private String category;
34   private String issueTrackerUrl;
35   
36   public Plugin(String key) {
37     super(key);
38   }
39
40   public String getName() {
41     return name;
42   }
43
44   public Plugin setName(String name) {
45     this.name = name;
46     return this;
47   }
48
49   public String getDescription() {
50     return description;
51   }
52
53   public Plugin setDescription(String description) {
54     this.description = description;
55     return this;
56   }
57
58   public String getHomepageUrl() {
59     return homepageUrl;
60   }
61
62   public Plugin setHomepageUrl(String s) {
63     this.homepageUrl = s;
64     return this;
65   }
66
67   public String getLicense() {
68     return license;
69   }
70
71   public Plugin setLicense(String license) {
72     this.license = license;
73     return this;
74   }
75
76   public String getOrganization() {
77     return organization;
78   }
79
80   public Plugin setOrganization(String organization) {
81     this.organization = organization;
82     return this;
83   }
84
85   public String getOrganizationUrl() {
86     return organizationUrl;
87   }
88
89   public Plugin setOrganizationUrl(String url) {
90     this.organizationUrl = url;
91     return this;
92   }
93
94   public String getCategory() {
95     return category;
96   }
97
98   public Plugin setCategory(String category) {
99     this.category = category;
100     return this;
101   }
102
103   public String getTermsConditionsUrl() {
104     return termsConditionsUrl;
105   }
106
107   public Plugin setTermsConditionsUrl(String url) {
108     this.termsConditionsUrl = url;
109     return this;
110   }
111
112   public String getIssueTrackerUrl() {
113     return issueTrackerUrl;
114   }
115
116   public Plugin setIssueTrackerUrl(String url) {
117     this.issueTrackerUrl = url;
118     return this;
119   }
120
121   public Plugin merge(PluginManifest manifest) {
122     if (StringUtils.equals(key, manifest.getKey())) {
123       name = manifest.getName();
124       description = manifest.getDescription();
125       organization = manifest.getOrganization();
126       organizationUrl = manifest.getOrganizationUrl();
127       issueTrackerUrl = manifest.getIssueTrackerUrl();
128       license = manifest.getLicense();
129       homepageUrl = manifest.getHomepage();
130       termsConditionsUrl = manifest.getTermsConditionsUrl();
131     }
132     return this;
133   }
134 }