gvsig-projects-pool / org.gvsig.jvmpreferences / trunk / org.gvsig.jvmpreferences.native / org.gvsig.jvmpreferences.native.lib / org.gvsig.jvmpreferences.native.lib.api / src / main / java / org / gvsig / jvmpreferences / nativeprefs / NativePrefsLocator.java @ 6
History | View | Annotate | Download (1.73 KB)
1 |
package org.gvsig.jvmpreferences.nativeprefs; |
---|---|
2 |
|
3 |
import org.gvsig.tools.locator.BaseLocator; |
4 |
import org.gvsig.tools.locator.Locator; |
5 |
import org.gvsig.tools.locator.LocatorException; |
6 |
|
7 |
/**
|
8 |
* A locator to access NativePrefsManager. The locator takes care of
|
9 |
* instantiating the right manager and keeps a reference for simplifying
|
10 |
* access.
|
11 |
*
|
12 |
* @author Cesar Martinez Izquierdo
|
13 |
*
|
14 |
*/
|
15 |
public class NativePrefsLocator extends BaseLocator { |
16 |
private static final String LOCATOR_NAME = "NativePrefsLocator"; |
17 |
|
18 |
public static final String MANAGER_NAME = LOCATOR_NAME+".manager"; |
19 |
|
20 |
private static final String MANAGER_DESCRIPTION = "Manager of gvSIG native preferences"; |
21 |
|
22 |
/**
|
23 |
* Unique instance.
|
24 |
*/
|
25 |
private static final NativePrefsLocator instance = new NativePrefsLocator(); |
26 |
|
27 |
/**
|
28 |
* Return the singleton instance.
|
29 |
*
|
30 |
* @return the singleton instance
|
31 |
*/
|
32 |
public static NativePrefsLocator getInstance() { |
33 |
return instance;
|
34 |
} |
35 |
|
36 |
public String getLocatorName() { |
37 |
return LOCATOR_NAME;
|
38 |
} |
39 |
|
40 |
/**
|
41 |
* Return a reference to PersistenceManager.
|
42 |
*
|
43 |
* @return a reference to PersistenceManager
|
44 |
* @throws LocatorException
|
45 |
* if there is no access to the class or the class cannot be
|
46 |
* instantiated
|
47 |
* @see Locator#get(String)
|
48 |
*/
|
49 |
public static NativePrefsManager getManager() |
50 |
throws LocatorException {
|
51 |
return (NativePrefsManager) getInstance().get(MANAGER_NAME);
|
52 |
} |
53 |
|
54 |
/**
|
55 |
* Registers the Class implementing the PersistenceManager interface.
|
56 |
*
|
57 |
* @param clazz
|
58 |
* implementing the PersistenceManager interface
|
59 |
*/
|
60 |
@SuppressWarnings("unchecked") |
61 |
public static void registerNativePrefsManagers(Class<? extends NativePrefsManager> clazz) { |
62 |
getInstance().register(MANAGER_NAME, |
63 |
MANAGER_DESCRIPTION, clazz); |
64 |
} |
65 |
|
66 |
} |