Statistics
| Revision:

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

History | View | Annotate | Download (4.13 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

    
12
public class ToolsLocator extends AbstractLocator {
13

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

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

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

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

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

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

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

    
28
        /**
29
         * Unique instance.
30
         */
31
        private static final ToolsLocator instance = new ToolsLocator();
32

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

    
42
        public String getLocatorName() {
43
                return LOCATOR_NAME;
44
        }
45

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

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

    
72
        public static void registerDefaultPersistenceManager(Class clazz) {
73
                getInstance().registerDefault(PERSISTENCE_MANAGER_NAME,
74
                                PERSISTENCE_MANAGER_DESCRIPTION, clazz);
75
        }
76

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

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

    
102
        public static void registerDefaultOperationManager(Class clazz) {
103
                getInstance().registerDefault(OPERATION_MANAGER_NAME,
104
                                OPERATION_MANAGER_DESCRIPTION, clazz);
105
        }
106

    
107
        public static ExtensionPointManager getExtensionPointManager() {
108
                return DefaultExtensionPointManager.getManager();
109
        }
110

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

    
125
    /**
126
     * Registers the Class implementing the DynObjectManager interface.
127
     * 
128
     * @param clazz
129
     *            implementing the DynObjectManager interface
130
     */
131
    public static void registerDynObjectManager(Class clazz) {
132
        getInstance().register(DYNOBJECT_MANAGER_NAME,
133
                DYNOBJECT_MANAGER_DESCRIPTION, clazz);
134
    }
135
}