Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.fmap.control / src / main / java / org / gvsig / fmap / mapcontrol / MapControlLocator.java @ 41323

History | View | Annotate | Download (4.29 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/* gvSIG. Geographic Information System of the Valencian Government
25
*
26
* Copyright (C) 2007-2008 Infrastructures and Transports Department
27
* of the Valencian Government (CIT)
28
* 
29
* This program is free software; you can redistribute it and/or
30
* modify it under the terms of the GNU General Public License
31
* as published by the Free Software Foundation; either version 2
32
* of the License, or (at your option) any later version.
33
* 
34
* This program is distributed in the hope that it will be useful,
35
* but WITHOUT ANY WARRANTY; without even the implied warranty of
36
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37
* GNU General Public License for more details.
38
* 
39
* You should have received a copy of the GNU General Public License
40
* along with this program; if not, write to the Free Software
41
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
42
* MA  02110-1301, USA.
43
* 
44
*/
45

    
46
/*
47
* AUTHORS (In addition to CIT):
48
* 2009 {Iver T.I.}   {Task}
49
*/
50
 
51
package org.gvsig.fmap.mapcontrol;
52

    
53
import org.gvsig.editing.EditingNotificationManager;
54
import org.gvsig.tools.locator.AbstractLocator;
55
import org.gvsig.tools.locator.Locator;
56
import org.gvsig.tools.locator.LocatorException;
57

    
58
/**
59
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
60
 */
61
public class MapControlLocator extends AbstractLocator {
62
        private static final String LOCATOR_NAME = "MapContolLocator";
63
        
64
        /**
65
         * MapControlManager name used by the locator to access the instance
66
         */
67
        public static final String MAPCONTROL_MANAGER_NAME = "MapControlManager";
68
        private static final String MAPCONTROL_MANAGER_DESCRIPTION = "MapControlManager of gvSIG";
69

    
70
        public static final String EDITING_NOTIFICATION_MANAGER_NAME = "EditingNotificationManager";
71
        private static final String EDITING_NOTIFICATION_MANAGER_DESCRIPTION = "EditingNotificationManager of gvSIG";
72

    
73
        /**
74
         * Unique instance.
75
         */
76
        private static final MapControlLocator instance = new MapControlLocator();
77
        
78
        /* (non-Javadoc)
79
         * @see org.gvsig.tools.locator.Locator#getLocatorName()
80
         */
81
        public String getLocatorName() {
82
                return LOCATOR_NAME;
83
        }
84
        
85
        /**
86
         * Return a reference to {@link MapControlManager}.
87
         *
88
         * @return a reference to MapControlManager
89
         * @throws LocatorException
90
         *             if there is no access to the class or the class cannot be
91
         *             instantiated
92
         * @see Locator#get(String)
93
         */
94
        public static MapControlManager getMapControlManager() throws LocatorException {
95
                return (MapControlManager) getInstance().get(MAPCONTROL_MANAGER_NAME);
96
        }
97
        
98
        /**
99
         * Return the singleton instance.
100
         *
101
         * @return the singleton instance
102
         */
103
        public static MapControlLocator getInstance() {
104
                return instance;
105
        }
106
        
107
        /**
108
         * Registers the Class implementing the {@link MapControlManager} interface.
109
         *
110
         * @param clazz
111
         *            implementing the MapControlManager interface
112
         */
113
        public static void registerMapControlManager(Class clazz) {
114
                getInstance().register(MAPCONTROL_MANAGER_NAME, 
115
                                MAPCONTROL_MANAGER_DESCRIPTION,
116
                                clazz);
117
        }
118

    
119
        public static EditingNotificationManager getEditingNotificationManager() throws LocatorException {
120
            return (EditingNotificationManager) getInstance().get(EDITING_NOTIFICATION_MANAGER_NAME);
121
        }
122

    
123
        public static void registerEditingNotificationManager(Class clazz) {
124
                getInstance().register(EDITING_NOTIFICATION_MANAGER_NAME, 
125
                                EDITING_NOTIFICATION_MANAGER_DESCRIPTION,
126
                                clazz);
127
        }
128
}
129

    
130