Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.geometry / org.gvsig.fmap.geometry.api / src / main / java / org / gvsig / fmap / geom / GeometryLocator.java @ 40435

History | View | Annotate | Download (2.75 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
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 2
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
*/
22

    
23
/*
24
* AUTHORS (In addition to CIT):
25
* 2009 {Iver T.I.}   {Task}
26
*/
27
 
28
package org.gvsig.fmap.geom;
29

    
30
import org.gvsig.tools.locator.AbstractLocator;
31
import org.gvsig.tools.locator.Locator;
32
import org.gvsig.tools.locator.LocatorException;
33

    
34
/**
35
 * This Locator provides the entry point for the gvSIG 
36
 * {@link GeometryManager}. 
37
 * @see {@link Locator}
38
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
39
 */
40
public class GeometryLocator extends AbstractLocator {
41

    
42
        private static final String LOCATOR_NAME = "GeometryLocator";
43
        
44
        /**
45
         * GeometryManager name used by the locator to access the instance
46
         */
47
        public static final String GEOMETRY_MANAGER_NAME = "GeometryManager";
48
        
49
        private static final String GEOMETRY_MANAGER_DESCRIPTION = "GeometryManager of gvSIG";
50
        
51
        /**
52
         * Unique instance.
53
         */
54
        private static final GeometryLocator instance = new GeometryLocator();
55

    
56
        /**
57
         * Return the singleton instance.
58
         *
59
         * @return the singleton instance
60
         */
61
        public static GeometryLocator getInstance() {
62
                return instance;
63
        }
64
        
65
        /* (non-Javadoc)
66
         * @see org.gvsig.tools.locator.Locator#getLocatorName()
67
         */
68
        public String getLocatorName() {
69
                return LOCATOR_NAME;
70
        }
71
        
72
        /**
73
         * Return a reference to {@link GeometryManager}.
74
         *
75
         * @return a reference to GeometryManager
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 GeometryManager getGeometryManager() throws LocatorException {
82
                return (GeometryManager) getInstance().get(GEOMETRY_MANAGER_NAME);
83
        }
84
        
85
        /**
86
         * Registers the Class implementing the {@link GeometryManager} interface.
87
         *
88
         * @param clazz
89
         *            implementing the GeometryManager interface
90
         */
91
        public static void registerGeometryManager(Class clazz) {
92
                getInstance().register(GEOMETRY_MANAGER_NAME, GEOMETRY_MANAGER_DESCRIPTION,
93
                                clazz);
94
        }
95
}
96