Statistics
| Revision:

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

History | View | Annotate | Download (3.09 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
        /**
29
         * Return the singleton instance.
30
         *
31
         * @return the singleton instance
32
         */
33
        public static ToolsLocator getInstance() {
34
                return instance;
35
        }
36

    
37
        public String getLocatorName() {
38
                return LOCATOR_NAME;
39
        }
40

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

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

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

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

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

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

    
102
        public static ExtensionPointManager getExtensionPointManager() {
103
                return DefaultExtensionPointManager.getManager();
104
        }
105
}