Statistics
| Revision:

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

History | View | Annotate | Download (5.16 KB)

1
package org.gvsig.tools;
2

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

    
13
public class ToolsLocator extends AbstractLocator {
14

    
15
        private static final String LOCATOR_NAME = "ToolsLocator";
16

    
17
        public static final String PERSISTENCE_MANAGER_NAME = "toolslocator.manager.persistence";
18

    
19
        private static final String PERSISTENCE_MANAGER_DESCRIPTION = "PersistenceManager of gvSIG";
20

    
21
        public static final String OPERATION_MANAGER_NAME = "toolslocator.manager.operation";
22

    
23
        private static final String OPERATION_MANAGER_DESCRIPTION = "OperationManager of gvSIG";
24

    
25
    public static final String DYNOBJECT_MANAGER_NAME = "toolslocator.manager.dynobject";
26

    
27
    private static final String DYNOBJECT_MANAGER_DESCRIPTION = "DynObjectManager of gvSIG";
28

    
29
        public static final String TASK_MANAGER_NAME = "toolslocator.manager.task";
30

    
31
        private static final String TASK_MANAGER_DESCRIPTION = "TaskManager";
32

    
33
        /**
34
         * Unique instance.
35
         */
36
        private static final ToolsLocator instance = new ToolsLocator();
37

    
38
        /**
39
         * Return the singleton instance.
40
         *
41
         * @return the singleton instance
42
         */
43
        public static ToolsLocator getInstance() {
44
                return instance;
45
        }
46

    
47
        public String getLocatorName() {
48
                return LOCATOR_NAME;
49
        }
50

    
51
        /**
52
         * Return a reference to PersistenceManager.
53
         *
54
         * @return a reference to PersistenceManager
55
         * @throws LocatorException
56
         *             if there is no access to the class or the class cannot be
57
         *             instantiated
58
         * @see Locator#get(String)
59
         */
60
        public static PersistenceManager getPersistenceManager()
61
                        throws LocatorException {
62
                return (PersistenceManager) getInstance().get(PERSISTENCE_MANAGER_NAME);
63
        }
64

    
65
        /**
66
         * Registers the Class implementing the PersistenceManager interface.
67
         *
68
         * @param clazz
69
         *            implementing the PersistenceManager interface
70
         */
71
        public static void registerPersistenceManager(Class clazz) {
72
                getInstance().register(PERSISTENCE_MANAGER_NAME,
73
                                PERSISTENCE_MANAGER_DESCRIPTION,
74
                                clazz);
75
        }
76

    
77
        public static void registerDefaultPersistenceManager(Class clazz) {
78
                getInstance().registerDefault(PERSISTENCE_MANAGER_NAME,
79
                                PERSISTENCE_MANAGER_DESCRIPTION, clazz);
80
        }
81

    
82
        /**
83
         * Return a reference to OperationManager.
84
         *
85
         * @return a reference to OperationManager
86
         * @throws LocatorException
87
         *             if there is no access to the class or the class cannot be
88
         *             instantiated
89
         * @see Locator#get(String)
90
         */
91
        public static OperationManager getOperationManager()
92
                        throws LocatorException {
93
                return (OperationManager) getInstance().get(OPERATION_MANAGER_NAME);
94
        }
95

    
96
        /**
97
         * Registers the Class implementing the OperationManager interface.
98
         *
99
         * @param clazz
100
         *            implementing the OperationManager interface
101
         */
102
        public static void registerOperationManager(Class clazz) {
103
                getInstance().register(OPERATION_MANAGER_NAME,
104
                                OPERATION_MANAGER_DESCRIPTION, clazz);
105
        }
106

    
107
        public static void registerDefaultOperationManager(Class clazz) {
108
                getInstance().registerDefault(OPERATION_MANAGER_NAME,
109
                                OPERATION_MANAGER_DESCRIPTION, clazz);
110
        }
111

    
112
        public static ExtensionPointManager getExtensionPointManager() {
113
                return DefaultExtensionPointManager.getManager();
114
        }
115

    
116
    /**
117
     * Return a reference to DynObjectManager.
118
     * 
119
     * @return a reference to DynObjectManager
120
     * @throws LocatorException
121
     *             if there is no access to the class or the class cannot be
122
     *             instantiated
123
     * @see Locator#get(String)
124
     */
125
    public static DynObjectManager getDynObjectManager()
126
            throws LocatorException {
127
        return (DynObjectManager) getInstance().get(DYNOBJECT_MANAGER_NAME);
128
    }
129

    
130
    /**
131
     * Registers the Class implementing the DynObjectManager interface.
132
     * 
133
     * @param clazz
134
     *            implementing the DynObjectManager interface
135
     */
136
    public static void registerDynObjectManager(Class clazz) {
137
        getInstance().register(DYNOBJECT_MANAGER_NAME,
138
                DYNOBJECT_MANAGER_DESCRIPTION, clazz);
139
    }
140

    
141
        /**
142
         * Return a reference to TaskManager.
143
         *
144
         * @return a reference to PersistenceManager
145
         * @throws LocatorException
146
         *             if there is no access to the class or the class cannot be
147
         *             instantiated
148
         * @see Locator#get(String)
149
         */
150
        public static TaskManager getTaskManager()
151
                        throws LocatorException {
152
                return (TaskManager) getInstance().get(TASK_MANAGER_NAME);
153
        }
154

    
155
        /**
156
         * Registers the Class implementing the PersistenceManager interface.
157
         *
158
         * @param clazz
159
         *            implementing the PersistenceManager interface
160
         */
161
        public static void registerTaskManager(Class clazz) {
162
                getInstance().register(TASK_MANAGER_NAME,
163
                                TASK_MANAGER_DESCRIPTION,
164
                                clazz);
165
        }
166

    
167
        public static void registerDefaultTaskManager(Class clazz) {
168
                getInstance().registerDefault(TASK_MANAGER_NAME,
169
                                TASK_MANAGER_DESCRIPTION, clazz);
170
        }
171

    
172

    
173
}