View Javadoc

1   /*
2    * Created by IntelliJ IDEA.
3    * User: Mike
4    * Date: Jul 31, 2004
5    * Time: 12:58:29 PM
6    */
7   package com.atlassian.plugin;
8   
9   import java.util.Collections;
10  import java.util.Map;
11  import java.util.Set;
12  
13  import com.atlassian.plugin.util.JavaVersionUtils;
14  import com.atlassian.util.concurrent.CopyOnWriteMap;
15  
16  import com.google.common.collect.ImmutableSet;
17  
18  public class PluginInformation
19  {
20      private String description = "";
21      private String descriptionKey;
22      private String version = "0.0";
23      private String vendorName = "(unknown)";
24      private String vendorUrl;
25      private float maxVersion;
26      private float minVersion;
27      private Float minJavaVersion;
28      private Set<PluginPermission> permissions = ImmutableSet.of(); // by default no permissions
29      private final Map<String, String> parameters = CopyOnWriteMap.<String, String>builder().stableViews().newHashMap();
30      private String startup;
31      private Set<String> moduleScanFolders;
32  
33      public String getDescription()
34      {
35          return description;
36      }
37  
38      public void setDescription(final String description)
39      {
40          this.description = description;
41      }
42  
43      public String getVersion()
44      {
45          return version;
46      }
47  
48      public void setVersion(final String version)
49      {
50          this.version = version;
51      }
52  
53      public void setVendorName(final String vendorName)
54      {
55          this.vendorName = vendorName;
56      }
57  
58      public void setVendorUrl(final String vendorUrl)
59      {
60          this.vendorUrl = vendorUrl;
61      }
62  
63      public String getVendorName()
64      {
65          return vendorName;
66      }
67  
68      public String getVendorUrl()
69      {
70          return vendorUrl;
71      }
72  
73      /**
74       * @deprecated Since 2.2.0
75       */
76      @Deprecated
77      public void setMaxVersion(final float maxVersion)
78      {
79          this.maxVersion = maxVersion;
80      }
81  
82      /**
83       * @deprecated Since 2.2.0
84       */
85      @Deprecated
86      public void setMinVersion(final float minVersion)
87      {
88          this.minVersion = minVersion;
89      }
90  
91      /**
92       * @deprecated Since 2.2.0
93       */
94      @Deprecated
95      public float getMaxVersion()
96      {
97          return maxVersion;
98      }
99  
100     /**
101      * @deprecated Since 2.2.0
102      */
103     @Deprecated
104     public float getMinVersion()
105     {
106         return minVersion;
107     }
108 
109     public Float getMinJavaVersion()
110     {
111         return minJavaVersion;
112     }
113 
114     public void setMinJavaVersion(final Float minJavaVersion)
115     {
116         this.minJavaVersion = minJavaVersion;
117     }
118 
119     public Map<String, String> getParameters()
120     {
121         return Collections.unmodifiableMap(parameters);
122     }
123 
124     /**
125      * The set of permissions that the plugin requires to run.
126      *
127      * @return the permissions as parsed from the plugin descriptor.
128      */
129     public Set<PluginPermission> getPermissions()
130     {
131         return permissions;
132     }
133 
134     public void setPermissions(final Set<PluginPermission> permissions)
135     {
136         this.permissions = ImmutableSet.copyOf(permissions);
137     }
138 
139     public void addParameter(final String key, final String value)
140     {
141         parameters.put(key, value);
142     }
143 
144     public boolean satisfiesMinJavaVersion()
145     {
146         return (minJavaVersion == null) || JavaVersionUtils.satisfiesMinVersion(minJavaVersion);
147     }
148 
149     public void setDescriptionKey(final String descriptionKey)
150     {
151         this.descriptionKey = descriptionKey;
152     }
153 
154     public String getDescriptionKey()
155     {
156         return descriptionKey;
157     }
158 
159     public String getStartup()
160     {
161         return startup;
162     }
163 
164     public void setStartup(final String startup)
165     {
166         this.startup = startup;
167     }
168 
169     public Set<String> getModuleScanFolders()
170     {
171         return moduleScanFolders;
172     }
173 
174     public void setModuleScanFolders(Iterable<String> moduleScanFolders)
175     {
176         this.moduleScanFolders = ImmutableSet.copyOf(moduleScanFolders);
177     }
178 }