Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libTools / src / org / gvsig / tools / ToolsLocator.java @ 24254

History | View | Annotate | Download (3.17 KB)

1
package org.gvsig.tools;
2

    
3
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
4
import org.gvsig.tools.extensionpoint.impl.DefaultExtensionPointManager;
5
import org.gvsig.tools.locator.AbstractLocator;
6
import org.gvsig.tools.locator.Locator;
7
import org.gvsig.tools.locator.LocatorException;
8
import org.gvsig.tools.operations.OperationManager;
9
import org.gvsig.tools.persistence.PersistenceManager;
10

    
11
public class ToolsLocator extends AbstractLocator {
12

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

    
15
        public static final String PERSISTENCE_MANAGER_NAME = "toolslocator.manager.persistence";
16

    
17
        private static final String PERSISTENCE_MANAGER_DESCRIPTION = "PersistenceManager of gvSIG";
18

    
19
        public static final String OPERATION_MANAGER_NAME = "toolslocator.manager.operation";
20

    
21
        private static final String OPERATION_MANAGER_DESCRIPTION = "OperationManager of gvSIG";
22

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

    
28
        private static final ExtensionPointManager extensionPointManager = new DefaultExtensionPointManager();
29

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

    
39
        public String getLocatorName() {
40
                return LOCATOR_NAME;
41
        }
42

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

    
57
        /**
58
         * Registers the Class implementing the PersistenceManager interface.
59
         *
60
         * @param clazz
61
         *            implementing the PersistenceManager interface
62
         */
63
        public static void registerPersistenceManager(Class clazz) {
64
                getInstance().register(PERSISTENCE_MANAGER_NAME,
65
                                PERSISTENCE_MANAGER_DESCRIPTION,
66
                                clazz);
67
        }
68

    
69
        public static void registerDefaultPersistenceManager(Class clazz) {
70
                getInstance().registerDefault(PERSISTENCE_MANAGER_NAME,
71
                                PERSISTENCE_MANAGER_DESCRIPTION, clazz);
72
        }
73

    
74
        /**
75
         * Return a reference to OperationManager.
76
         *
77
         * @return a reference to OperationManager
78
         * @throws LocatorException
79
         *             if there is no access to the class or the class cannot be
80
         *             instantiated
81
         * @see Locator#get(String)
82
         */
83
        public static OperationManager getOperationManager()
84
                        throws LocatorException {
85
                return (OperationManager) getInstance().get(OPERATION_MANAGER_NAME);
86
        }
87

    
88
        /**
89
         * Registers the Class implementing the OperationManager interface.
90
         *
91
         * @param clazz
92
         *            implementing the OperationManager interface
93
         */
94
        public static void registerOperationManager(Class clazz) {
95
                getInstance().register(OPERATION_MANAGER_NAME,
96
                                OPERATION_MANAGER_DESCRIPTION, clazz);
97
        }
98

    
99
        public static void registerDefaultOperationManager(Class clazz) {
100
                getInstance().registerDefault(OPERATION_MANAGER_NAME,
101
                                OPERATION_MANAGER_DESCRIPTION, clazz);
102
        }
103

    
104
        public static ExtensionPointManager getExtensionPointManager() {
105
                return extensionPointManager;
106
        }
107
}