1 package com.atlassian.activeobjects.admin;
2
3 import com.atlassian.plugin.Plugin;
4 import com.atlassian.plugin.PluginInformation;
5
6 import static com.google.common.base.Preconditions.checkNotNull;
7
8 public class PluginInfo {
9 public final String key;
10 public final String name;
11 public final String version;
12 public final String vendorName;
13 public final String vendorUrl;
14
15 public PluginInfo(String key, String name, String version, String vendorName, String vendorUrl) {
16 this.key = checkNotNull(key);
17 this.name = checkNotNull(name);
18 this.version = checkNotNull(version);
19 this.vendorName = vendorName;
20 this.vendorUrl = vendorUrl;
21 }
22
23 public static PluginInfo of(Plugin plugin) {
24 final PluginInformation pluginInformation = plugin.getPluginInformation();
25 return new PluginInfo(plugin.getKey(), plugin.getName(), pluginInformation.getVersion(), pluginInformation.getVendorName(), pluginInformation.getVendorUrl());
26 }
27 }