Statistics
| Revision:

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

History | View | Annotate | Download (2.84 KB)

1
package org.gvsig.tools;
2

    
3
import org.gvsig.tools.locator.AbstractLocator;
4
import org.gvsig.tools.locator.Locator;
5
import org.gvsig.tools.locator.LocatorException;
6
import org.gvsig.tools.operations.OperationManager;
7
import org.gvsig.tools.persistence.PersistenceManager;
8

    
9
public class ToolsLocator extends AbstractLocator {
10

    
11
        private static final String LOCATOR_NAME = "ToolsLocator";
12

    
13
        public static final String PERSISTENCE_MANAGER_NAME = "toolslocator.manager.persistence";
14

    
15
        private static final String PERSISTENCE_MANAGER_DESCRIPTION = "PersistenceManager of gvSIG";
16

    
17
        public static final String OPERATION_MANAGER_NAME = "toolslocator.manager.operation";
18

    
19
        private static final String OPERATION_MANAGER_DESCRIPTION = "OperationManager of gvSIG";
20

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

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

    
35
        public String getLocatorName() {
36
                return LOCATOR_NAME;
37
        }
38

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

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

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

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

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

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

    
100
}