View Javadoc
1   package com.atlassian.plugin.manager;
2   
3   import com.atlassian.plugin.Plugin;
4   import com.atlassian.plugin.PluginRegistry;
5   import io.atlassian.util.concurrent.CopyOnWriteMap;
6   
7   import java.util.Collection;
8   import java.util.Map;
9   
10  public final class PluginRegistryImpl implements PluginRegistry.ReadWrite {
11      private final Map<String, Plugin> plugins;
12  
13      public PluginRegistryImpl() {
14          this.plugins = CopyOnWriteMap.<String, Plugin>builder().stableViews().newHashMap();
15      }
16  
17      @Override
18      public Collection<Plugin> getAll() {
19          return plugins.values();
20      }
21  
22      public Plugin get(final String pluginKey) {
23          return plugins.get(pluginKey);
24      }
25  
26      @Override
27      public void clear() {
28          plugins.clear();
29      }
30  
31      @Override
32      public void put(final Plugin plugin) {
33          plugins.put(plugin.getKey(), plugin);
34      }
35  
36      @Override
37      public Plugin remove(final String key) {
38          return plugins.remove(key);
39      }
40  }