Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / frameworks / _fwAndami / src / org / gvsig / andami / PluginsLocator.java @ 34114

History | View | Annotate | Download (2.07 KB)

1
package org.gvsig.andami;
2

    
3
import org.gvsig.tools.locator.AbstractLocator;
4
import org.gvsig.tools.locator.Locator;
5
import org.gvsig.tools.locator.LocatorException;
6

    
7

    
8
public class PluginsLocator extends AbstractLocator {
9

    
10
    private static final String LOCATOR_NAME = "PluginsLocator";
11

    
12
    /**
13
     * PluginsManager name used by the locator to access the instance
14
     */
15
    public static final String PLUGINS_MANAGER_NAME = "PluginsManager";
16

    
17
    private static final String PLUGINS_MANAGER_DESCRIPTION = "PluginsManager of Andami framework";
18

    
19
    /**
20
     * Unique instance.
21
     */
22
    private static final PluginsLocator instance = new PluginsLocator();
23

    
24
    /**
25
     * Return the singleton instance.
26
     *
27
     * @return the singleton instance
28
     */
29
    public static PluginsLocator getInstance() {
30
        return instance;
31
    }
32

    
33
    /**
34
     * Returns the Locator name.
35
     *
36
     * @return String containing the locator name.
37
     */
38
    public String getLocatorName() {
39
        return LOCATOR_NAME;
40
    }
41

    
42
    /**
43
     * Return a reference to DataManager.
44
     *
45
     * @return a reference to DataManager
46
     * @throws LocatorException
47
     *             if there is no access to the class or the class cannot be
48
     *             instantiated
49
     * @see Locator#get(String)
50
     */
51
    public static PluginsManager getManager() throws LocatorException {
52
        return (PluginsManager) getInstance().get(PLUGINS_MANAGER_NAME);
53
    }
54

    
55
    /**
56
     * Registers the Class implementing the DataManager interface.
57
     *
58
     * @param clazz
59
     *            implementing the DataManager interface
60
     */
61
    public static void registerManager(Class clazz) {
62
        getInstance().register(PLUGINS_MANAGER_NAME, PLUGINS_MANAGER_DESCRIPTION,
63
                clazz);
64
    }
65

    
66
    /**
67
     * Registers a class as the default DataManager.
68
     *
69
     * @param clazz
70
     *            implementing the DataManager interface
71
     */
72
    public static void registerDefaultManager(Class clazz) {
73
        getInstance().registerDefault(PLUGINS_MANAGER_NAME, PLUGINS_MANAGER_DESCRIPTION,
74
                clazz);
75
    }
76

    
77
}