1 package com.atlassian.plugin.loaders;
2
3 import java.io.File;
4 import java.util.List;
5
6 import com.atlassian.plugin.DefaultPluginArtifactFactory;
7 import com.atlassian.plugin.PluginArtifact.AllowsReference.ReferenceMode;
8 import com.atlassian.plugin.PluginArtifactFactory;
9 import com.atlassian.plugin.event.PluginEventManager;
10 import com.atlassian.plugin.factories.PluginFactory;
11 import com.atlassian.plugin.util.EnumUtils;
12
13
14
15
16
17
18
19 public class RosterFilePluginLoader extends ScanningPluginLoader
20 {
21 public static String getReferenceModePropertyName()
22 {
23 return RosterFilePluginLoader.class.getName() + ".referenceMode";
24 }
25
26 private static ReferenceMode referenceModeFromProperty()
27 {
28 final String propertyName = getReferenceModePropertyName();
29 return EnumUtils.enumValueFromProperty(propertyName, ReferenceMode.values(), ReferenceMode.FORBID_REFERENCE);
30 }
31
32
33
34
35
36
37
38
39 public RosterFilePluginLoader(final File rosterFile,
40 final List<PluginFactory> pluginFactories,
41 final PluginEventManager pluginEventManager)
42 {
43 this(rosterFile, pluginFactories, referenceModeFromProperty(), pluginEventManager);
44 }
45
46
47
48
49
50
51
52
53
54 public RosterFilePluginLoader(final File rosterFile,
55 final List<PluginFactory> pluginFactories,
56 final ReferenceMode referenceMode,
57 final PluginEventManager pluginEventManager)
58 {
59 this(rosterFile, pluginFactories, new DefaultPluginArtifactFactory(referenceMode), pluginEventManager);
60 }
61
62
63
64
65
66
67
68
69
70 public RosterFilePluginLoader(final File rosterFile,
71 final List<PluginFactory> pluginFactories,
72 final PluginArtifactFactory pluginArtifactFactory,
73 final PluginEventManager pluginEventManager)
74 {
75 super(new RosterFileScanner(rosterFile), pluginFactories, pluginArtifactFactory, pluginEventManager);
76 }
77 }