Statistics
| Revision:

root / branches / v2_0_0_prep / frameworks / _fwAndami / src / org / gvsig / andami / PluginsLocator.java @ 38564

History | View | Annotate | Download (2.81 KB)

1
package org.gvsig.andami;
2

    
3
import org.gvsig.andami.actioninfo.ActionInfoManager;
4
import org.gvsig.tools.locator.AbstractLocator;
5
import org.gvsig.tools.locator.Locator;
6
import org.gvsig.tools.locator.LocatorException;
7
import org.gvsig.tools.swing.icontheme.IconThemeManager;
8
import org.gvsig.tools.swing.icontheme.impl.DefaultIconThemeManager;
9

    
10

    
11
public class PluginsLocator extends AbstractLocator {
12

    
13
    private static final String LOCATOR_NAME = "PluginsLocator";
14

    
15
    /**
16
     * PluginsManager name used by the locator to access the instance
17
     */
18
    public static final String PLUGINS_MANAGER_NAME = "PluginsManager";
19
    public static final String PLUGINS_ACTIONINFO_MANAGER_NAME = "PluginsActionInfoManager";
20

    
21
    private static final String PLUGINS_MANAGER_DESCRIPTION = "PluginsManager of Andami framework";
22
    private static final String PLUGINS_ACTIONINFO_MANAGER_DESCRIPTION = "PluginsActionInfoManager";
23

    
24
    /**
25
     * Unique instance.
26
     */
27
    private static final PluginsLocator instance = new PluginsLocator();
28

    
29
    /**
30
     * Return the singleton instance.
31
     *
32
     * @return the singleton instance
33
     */
34
    public static PluginsLocator getInstance() {
35
        return instance;
36
    }
37

    
38
    /**
39
     * Returns the Locator name.
40
     *
41
     * @return String containing the locator name.
42
     */
43
    public String getLocatorName() {
44
        return LOCATOR_NAME;
45
    }
46

    
47
    /**
48
     * Return a reference to DataManager.
49
     *
50
     * @return a reference to DataManager
51
     * @throws LocatorException
52
     *             if there is no access to the class or the class cannot be
53
     *             instantiated
54
     * @see Locator#get(String)
55
     */
56
    public static PluginsManager getManager() throws LocatorException {
57
        return (PluginsManager) getInstance().get(PLUGINS_MANAGER_NAME);
58
    }
59
    
60
    /**
61
     * Registers the Class implementing the DataManager interface.
62
     *
63
     * @param clazz
64
     *            implementing the DataManager interface
65
     */
66
    public static void registerManager(Class clazz) {
67
        getInstance().register(PLUGINS_MANAGER_NAME, PLUGINS_MANAGER_DESCRIPTION,
68
                clazz);
69
    }
70

    
71
    /**
72
     * Registers a class as the default DataManager.
73
     *
74
     * @param clazz
75
     *            implementing the DataManager interface
76
     */
77
    public static void registerDefaultManager(Class clazz) {
78
        getInstance().registerDefault(PLUGINS_MANAGER_NAME, PLUGINS_MANAGER_DESCRIPTION,
79
                clazz);
80
    }
81

    
82

    
83
    public static ActionInfoManager getActionInfoManager() throws LocatorException {
84
        return (ActionInfoManager) getInstance().get(PLUGINS_ACTIONINFO_MANAGER_NAME);
85
    }
86

    
87
    public static void registerActionInfoManager(Class clazz) {
88
        getInstance().register(PLUGINS_ACTIONINFO_MANAGER_NAME, PLUGINS_ACTIONINFO_MANAGER_DESCRIPTION,
89
                clazz);
90
    }
91

    
92
}