Revision 1405 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/ToolsLocator.java

View differences:

ToolsLocator.java
3 3
 *
4 4
 * Copyright (C) 2007-2013 gvSIG Association.
5 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.
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 2 of the License, or (at your option) any later
9
 * version.
10 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.
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15 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.
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 19
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
23 22
 */
24 23
package org.gvsig.tools;
25 24

  
......
38 37
import org.gvsig.tools.operations.OperationManager;
39 38
import org.gvsig.tools.packageutils.PackageManager;
40 39
import org.gvsig.tools.persistence.PersistenceManager;
40
import org.gvsig.tools.script.ScriptManager;
41 41
import org.gvsig.tools.task.TaskStatusManager;
42 42
import org.gvsig.tools.util.ServiceLoader;
43 43
import org.gvsig.tools.util.impl.DefaultServiceLoader;
......
47 47

  
48 48
public class ToolsLocator extends AbstractLocator {
49 49

  
50
	private static final String LOCATOR_NAME = "ToolsLocator";
50
    private static final String LOCATOR_NAME = "ToolsLocator";
51 51

  
52
	public static final String PERSISTENCE_MANAGER_NAME =
53
			"org.gvsig.tools.persistence.manager";
52
    public static final String PERSISTENCE_MANAGER_NAME = "org.gvsig.tools.persistence.manager";
53
    private static final String PERSISTENCE_MANAGER_DESCRIPTION = "Persistence Manager of gvSIG";
54 54

  
55
	private static final String PERSISTENCE_MANAGER_DESCRIPTION =
56
			"Persistence Manager of gvSIG";
55
    public static final String OPERATION_MANAGER_NAME = "org.gvsig.tools.operation.manager";
56
    private static final String OPERATION_MANAGER_DESCRIPTION = "Operation Manager of gvSIG";
57 57

  
58
	public static final String OPERATION_MANAGER_NAME =
59
			"org.gvsig.tools.operation.manager";
58
    public static final String DYNOBJECT_MANAGER_NAME = "org.gvsig.tools.dynobject.manager";
59
    private static final String DYNOBJECT_MANAGER_DESCRIPTION = "DynObject Manager of gvSIG";
60 60

  
61
	private static final String OPERATION_MANAGER_DESCRIPTION =
62
			"Operation Manager of gvSIG";
61
    public static final String DISPOSABLE_MANAGER_NAME = "org.gvsig.tools.dispose.manager";
62
    private static final String DISPOSABLE_MANAGER_DESCRIPTION = "Disposable Manager";
63 63

  
64
	public static final String DYNOBJECT_MANAGER_NAME =
65
			"org.gvsig.tools.dynobject.manager";
64
    public static final String DATATYPES_MANAGER_NAME = "org.gvsig.tools.datatypes.manager";
65
    private static final String DATATYPES_MANAGER_DESCRIPTION = "Datatypes Manager";
66 66

  
67
	private static final String DYNOBJECT_MANAGER_DESCRIPTION =
68
			"DynObject Manager of gvSIG";
67
    public static final String SERVICE_LOADER_NAME = "org.gvsig.tools.service.loader";
68
    private static final String SERVICE_LOADER_DESCRIPTION = "Default Service Loader";
69 69

  
70
	public static final String DISPOSABLE_MANAGER_NAME =
71
			"org.gvsig.tools.dispose.manager";
70
    public static final String I18N_MANAGER_NAME = "org.gvsig.tools.i18n.manager";
71
    private static final String I18N_MANAGER_DESCRIPTION = "Default I18n Manager";
72 72

  
73
	private static final String DISPOSABLE_MANAGER_DESCRIPTION =
74
		"Disposable Manager";
73
    public static final String TASKSTATUS_MANAGER_NAME = "org.gvsig.tools.taststatus.manager";
74
    private static final String TASKSTATUS_MANAGER_DESCRIPTION = "Default Tast Status Manager";
75 75

  
76
	public static final String DATATYPES_MANAGER_NAME =
77
		"org.gvsig.tools.datatypes.manager";
76
    public static final String PACKAGE_MANAGER_NAME = "org.gvsig.tools.package.manager";
77
    private static final String PACKAGE_MANAGER_DESCRIPTION = "Default Package Manager";
78 78

  
79
	private static final String DATATYPES_MANAGER_DESCRIPTION =
80
		"Datatypes Manager";
79
    public static final String IDENTITY_MANAGER_NAME = "org.gvsig.tools.identity.manager";
80
    private static final String IDENTITY_MANAGER_DESCRIPTION = "Default Identity Manager";
81 81

  
82
	public static final String SERVICE_LOADER_NAME =
83
			"org.gvsig.tools.service.loader";
82
    public static final String FIREWALL_MANAGER_NAME = "org.gvsig.tools.firewall.manager";
83
    private static final String FIREWALL_MANAGER_DESCRIPTION = "Default Firewall Manager";
84
    
85
    public static final String SCRIPT_MANAGER_NAME = "org.gvsig.tools.script.manager";
86
    private static final String SCRIPT_MANAGER_DESCRIPTION = "Default dummy script Manager";
84 87

  
85
	private static final String SERVICE_LOADER_DESCRIPTION =
86
			"Default Service Loader";
88
    /**
89
     * Unique instance.
90
     */
91
    private static final ToolsLocator instance = new ToolsLocator();
87 92

  
88
	public static final String I18N_MANAGER_NAME =
89
		"org.gvsig.tools.i18n.manager";
93
    // Comma list of xml pull parser factories, parsers or serializers
94
    private String xmlPullParserFactoryClassNames = ""
95
            + "org.xmlpull.mxp1.MXParserFactory," + // MXP1 (XPP3) factory
96
            "org.kxml2.io.KXmlParser," + // KXML2 parser
97
            "org.kxml2.io.KXmlSerializer"; // KXML2 serializer
90 98

  
91
	private static final String I18N_MANAGER_DESCRIPTION =
92
		"Default I18n Manager";
99
    private ToolsLocator() {
100
        // Register default ServiceLoader
101
        registerDefault(SERVICE_LOADER_NAME, SERVICE_LOADER_DESCRIPTION,
102
                DefaultServiceLoader.class);
103
    }
93 104

  
94
	public static final String TASKSTATUS_MANAGER_NAME =
95
		"org.gvsig.tools.taststatus.manager";
105
    /**
106
     * Return the singleton instance.
107
     *
108
     * @return the singleton instance
109
     */
110
    public static ToolsLocator getInstance() {
111
        return instance;
112
    }
96 113

  
97
	private static final String TASKSTATUS_MANAGER_DESCRIPTION =
98
		"Default Tast Status Manager";
114
    public String getLocatorName() {
115
        return LOCATOR_NAME;
116
    }
99 117

  
100
	public static final String PACKAGE_MANAGER_NAME =
101
			"org.gvsig.tools.package.manager";
118
    /**
119
     * Return a reference to PersistenceManager.
120
     *
121
     * @return a reference to PersistenceManager
122
     * @throws LocatorException if there is no access to the class or the class
123
     * cannot be instantiated
124
     * @see Locator#get(String)
125
     */
126
    public static PersistenceManager getPersistenceManager()
127
            throws LocatorException {
128
        return (PersistenceManager) getInstance().get(PERSISTENCE_MANAGER_NAME);
129
    }
102 130

  
103
	private static final String PACKAGE_MANAGER_DESCRIPTION =
104
			"Default Package Manager";
131
    /**
132
     * Registers the Class implementing the PersistenceManager interface.
133
     *
134
     * @param clazz implementing the PersistenceManager interface
135
     */
136
    public static void registerPersistenceManager(Class clazz) {
137
        getInstance().register(PERSISTENCE_MANAGER_NAME,
138
                PERSISTENCE_MANAGER_DESCRIPTION, clazz);
139
    }
105 140

  
106
    public static final String IDENTITY_MANAGER_NAME =
107
			"org.gvsig.tools.identity.manager";
141
    public static void registerDefaultPersistenceManager(Class clazz) {
142
        getInstance().registerDefault(PERSISTENCE_MANAGER_NAME,
143
                PERSISTENCE_MANAGER_DESCRIPTION, clazz);
144
    }
108 145

  
109
	private static final String IDENTITY_MANAGER_DESCRIPTION =
110
			"Default Identity Manager";
146
    /**
147
     * Return a reference to OperationManager.
148
     *
149
     * @return a reference to OperationManager
150
     * @throws LocatorException if there is no access to the class or the class
151
     * cannot be instantiated
152
     * @see Locator#get(String)
153
     */
154
    public static OperationManager getOperationManager()
155
            throws LocatorException {
156
        return (OperationManager) getInstance().get(OPERATION_MANAGER_NAME);
157
    }
111 158

  
112
    public static final String FIREWALL_MANAGER_NAME =
113
			"org.gvsig.tools.firewall.manager";
159
    /**
160
     * Registers the Class implementing the OperationManager interface.
161
     *
162
     * @param clazz implementing the OperationManager interface
163
     */
164
    public static void registerOperationManager(Class clazz) {
165
        getInstance().register(OPERATION_MANAGER_NAME,
166
                OPERATION_MANAGER_DESCRIPTION, clazz);
167
    }
114 168

  
115
	private static final String FIREWALL_MANAGER_DESCRIPTION =
116
			"Default Firewall Manager";
117
/**
118
	 * Unique instance.
119
	 */
120
	private static final ToolsLocator instance = new ToolsLocator();
169
    public static void registerDefaultOperationManager(Class clazz) {
170
        getInstance().registerDefault(OPERATION_MANAGER_NAME,
171
                OPERATION_MANAGER_DESCRIPTION, clazz);
172
    }
121 173

  
122
	// Comma list of xml pull parser factories, parsers or serializers
123
	private String xmlPullParserFactoryClassNames = ""
124
			+ "org.xmlpull.mxp1.MXParserFactory," + // MXP1 (XPP3) factory
125
			"org.kxml2.io.KXmlParser," + // KXML2 parser
126
			"org.kxml2.io.KXmlSerializer"; // KXML2 serializer
174
    public static ExtensionPointManager getExtensionPointManager() {
175
        return DefaultExtensionPointManager.getManager();
176
    }
127 177

  
128
	private ToolsLocator() {
129
		// Register default ServiceLoader
130
		registerDefault(SERVICE_LOADER_NAME, SERVICE_LOADER_DESCRIPTION,
131
				DefaultServiceLoader.class);
132
	}
178
    /**
179
     * Return a reference to DynObjectManager.
180
     *
181
     * @return a reference to DynObjectManager
182
     * @throws LocatorException if there is no access to the class or the class
183
     * cannot be instantiated
184
     * @see Locator#get(String)
185
     */
186
    public static DynObjectManager getDynObjectManager()
187
            throws LocatorException {
188
        return (DynObjectManager) getInstance().get(DYNOBJECT_MANAGER_NAME);
189
    }
133 190

  
134
	/**
135
	 * Return the singleton instance.
136
	 *
137
	 * @return the singleton instance
138
	 */
139
	public static ToolsLocator getInstance() {
140
		return instance;
141
	}
191
    /**
192
     * Registers the Class implementing the DynObjectManager interface.
193
     *
194
     * @param clazz implementing the {@link DynObjectManager} interface
195
     */
196
    public static void registerDynObjectManager(Class clazz) {
197
        getInstance().register(DYNOBJECT_MANAGER_NAME,
198
                DYNOBJECT_MANAGER_DESCRIPTION, clazz);
199
    }
142 200

  
143
	public String getLocatorName() {
144
		return LOCATOR_NAME;
145
	}
201
    /**
202
     * Return a reference to DisposableManager.
203
     *
204
     * @return a reference to {@link DisposableManager}
205
     * @throws LocatorException if there is no access to the class or the class
206
     * cannot be instantiated
207
     * @see Locator#get(String)
208
     */
209
    public static DisposableManager getDisposableManager()
210
            throws LocatorException {
211
        return (DisposableManager) getInstance().get(DISPOSABLE_MANAGER_NAME);
212
    }
146 213

  
147
	/**
148
	 * Return a reference to PersistenceManager.
149
	 *
150
	 * @return a reference to PersistenceManager
151
	 * @throws LocatorException
152
	 *             if there is no access to the class or the class cannot be
153
	 *             instantiated
154
	 * @see Locator#get(String)
155
	 */
156
	public static PersistenceManager getPersistenceManager()
157
			throws LocatorException {
158
		return (PersistenceManager) getInstance().get(PERSISTENCE_MANAGER_NAME);
159
	}
214
    /**
215
     * Registers the Class implementing the DisposableManager interface.
216
     *
217
     * @param clazz implementing the {@link DisposableManager} interface
218
     */
219
    public static void registerDisposableManager(Class clazz) {
220
        getInstance().register(DISPOSABLE_MANAGER_NAME,
221
                DISPOSABLE_MANAGER_DESCRIPTION, clazz);
222
    }
160 223

  
161
	/**
162
	 * Registers the Class implementing the PersistenceManager interface.
163
	 *
164
	 * @param clazz
165
	 *            implementing the PersistenceManager interface
166
	 */
167
	public static void registerPersistenceManager(Class clazz) {
168
		getInstance().register(PERSISTENCE_MANAGER_NAME,
169
				PERSISTENCE_MANAGER_DESCRIPTION, clazz);
170
	}
224
    /**
225
     * Return a reference to {@link ServiceLoader}.
226
     *
227
     * @return a reference to {@link ServiceLoader}
228
     * @throws LocatorException if there is no access to the class or the class
229
     * cannot be instantiated
230
     * @see Locator#get(String)
231
     */
232
    public static ServiceLoader getServiceLoader() throws LocatorException {
233
        return (ServiceLoader) getInstance().get(SERVICE_LOADER_NAME);
234
    }
171 235

  
172
	public static void registerDefaultPersistenceManager(Class clazz) {
173
		getInstance().registerDefault(PERSISTENCE_MANAGER_NAME,
174
				PERSISTENCE_MANAGER_DESCRIPTION, clazz);
175
	}
236
    /**
237
     * Registers the Class implementing the {@link ServiceLoader} interface.
238
     *
239
     * @param clazz implementing the {@link ServiceLoader} interface
240
     */
241
    public static void registerServiceLoader(Class clazz) {
242
        getInstance().register(SERVICE_LOADER_NAME, SERVICE_LOADER_DESCRIPTION,
243
                clazz);
244
    }
176 245

  
177
	/**
178
	 * Return a reference to OperationManager.
179
	 *
180
	 * @return a reference to OperationManager
181
	 * @throws LocatorException
182
	 *             if there is no access to the class or the class cannot be
183
	 *             instantiated
184
	 * @see Locator#get(String)
185
	 */
186
	public static OperationManager getOperationManager()
187
			throws LocatorException {
188
		return (OperationManager) getInstance().get(OPERATION_MANAGER_NAME);
189
	}
246
    /**
247
     * Return a reference to {@link I18nManager}.
248
     *
249
     * @return a reference to {@link I18nManager}
250
     * @throws LocatorException if there is no access to the class or the class
251
     * cannot be instantiated
252
     * @see Locator#get(String)
253
     */
254
    public static I18nManager getI18nManager() throws LocatorException {
255
        return (I18nManager) getInstance().get(I18N_MANAGER_NAME);
256
    }
190 257

  
191
	/**
192
	 * Registers the Class implementing the OperationManager interface.
193
	 *
194
	 * @param clazz
195
	 *            implementing the OperationManager interface
196
	 */
197
	public static void registerOperationManager(Class clazz) {
198
		getInstance().register(OPERATION_MANAGER_NAME,
199
				OPERATION_MANAGER_DESCRIPTION, clazz);
200
	}
258
    /**
259
     * Registers the Class implementing the {@link I18nManager} interface.
260
     *
261
     * @param clazz implementing the {@link I18nManager} interface
262
     */
263
    public static void registerI18nManager(Class clazz) {
264
        getInstance().register(I18N_MANAGER_NAME, I18N_MANAGER_DESCRIPTION,
265
                clazz);
266
    }
201 267

  
202
	public static void registerDefaultOperationManager(Class clazz) {
203
		getInstance().registerDefault(OPERATION_MANAGER_NAME,
204
				OPERATION_MANAGER_DESCRIPTION, clazz);
205
	}
268
    /**
269
     * Registers the default Class implementing the {@link I18nManager}
270
     * interface.
271
     *
272
     * @param clazz implementing the {@link I18nManager} interface
273
     */
274
    public static void registerDefaultI18nManager(Class clazz) {
275
        getInstance().registerDefault(I18N_MANAGER_NAME,
276
                I18N_MANAGER_DESCRIPTION, clazz);
277
    }
206 278

  
207
	public static ExtensionPointManager getExtensionPointManager() {
208
		return DefaultExtensionPointManager.getManager();
209
	}
279
    /**
280
     * Return a reference to {@link ScriptManager}.
281
     *
282
     * @return a reference to {@link ScriptManager}
283
     * @throws LocatorException if there is no access to the class or the class
284
     * cannot be instantiated
285
     * @see Locator#get(String)
286
     */
287
    public static ScriptManager getScriptManager() throws LocatorException {
288
        return (ScriptManager) getInstance().get(SCRIPT_MANAGER_NAME);
289
    }
210 290

  
211
	/**
212
	 * Return a reference to DynObjectManager.
213
	 *
214
	 * @return a reference to DynObjectManager
215
	 * @throws LocatorException
216
	 *             if there is no access to the class or the class cannot be
217
	 *             instantiated
218
	 * @see Locator#get(String)
219
	 */
220
	public static DynObjectManager getDynObjectManager()
221
			throws LocatorException {
222
		return (DynObjectManager) getInstance().get(DYNOBJECT_MANAGER_NAME);
223
	}
291
    /**
292
     * Registers the Class implementing the {@link ScriptManager} interface.
293
     *
294
     * @param clazz implementing the {@link ScriptManager} interface
295
     */
296
    public static void registerScriptManager(Class clazz) {
297
        getInstance().register(SCRIPT_MANAGER_NAME, SCRIPT_MANAGER_DESCRIPTION,
298
                clazz);
299
    }
224 300

  
225
	/**
226
	 * Registers the Class implementing the DynObjectManager interface.
227
	 *
228
	 * @param clazz
229
	 *            implementing the {@link DynObjectManager} interface
230
	 */
231
	public static void registerDynObjectManager(Class clazz) {
232
		getInstance().register(DYNOBJECT_MANAGER_NAME,
233
				DYNOBJECT_MANAGER_DESCRIPTION, clazz);
234
	}
301
    /**
302
     * Registers the default Class implementing the {@link ScriptManager}
303
     * interface.
304
     *
305
     * @param clazz implementing the {@link ScriptManager} interface
306
     */
307
    public static void registerDefaultScriptManager(Class clazz) {
308
        getInstance().registerDefault(SCRIPT_MANAGER_NAME,
309
                SCRIPT_MANAGER_DESCRIPTION, clazz);
310
    }
235 311

  
236
	/**
237
	 * Return a reference to DisposableManager.
238
	 *
239
	 * @return a reference to {@link DisposableManager}
240
	 * @throws LocatorException
241
	 *             if there is no access to the class or the class cannot be
242
	 *             instantiated
243
	 * @see Locator#get(String)
244
	 */
245
	public static DisposableManager getDisposableManager()
246
			throws LocatorException {
247
		return (DisposableManager) getInstance().get(DISPOSABLE_MANAGER_NAME);
248
	}
312
    /**
313
     * Registers the Class implementing the DataTypesManager interface.
314
     *
315
     * @param clazz implementing the {@link DataTypesManag} interface
316
     */
317
    public static void registerDataTypesManager(Class clazz) {
318
        getInstance().register(DATATYPES_MANAGER_NAME,
319
                DATATYPES_MANAGER_DESCRIPTION, clazz);
320
    }
249 321

  
250
	/**
251
	 * Registers the Class implementing the DisposableManager interface.
252
	 *
253
	 * @param clazz
254
	 *            implementing the {@link DisposableManager} interface
255
	 */
256
	public static void registerDisposableManager(Class clazz) {
257
		getInstance().register(DISPOSABLE_MANAGER_NAME,
258
				DISPOSABLE_MANAGER_DESCRIPTION, clazz);
259
	}
322
    /**
323
     * Registers the default Class implementing the DataTypesManager interface.
324
     *
325
     * @param clazz implementing the {@link DataTypesManager} interface
326
     */
327
    public static void registerDefaultDataTypesManager(Class clazz) {
328
        getInstance().registerDefault(DATATYPES_MANAGER_NAME,
329
                DATATYPES_MANAGER_DESCRIPTION, clazz);
330
    }
260 331

  
261
	/**
262
	 * Return a reference to {@link ServiceLoader}.
263
	 *
264
	 * @return a reference to {@link ServiceLoader}
265
	 * @throws LocatorException
266
	 *             if there is no access to the class or the class cannot be
267
	 *             instantiated
268
	 * @see Locator#get(String)
269
	 */
270
	public static ServiceLoader getServiceLoader() throws LocatorException {
271
		return (ServiceLoader) getInstance().get(SERVICE_LOADER_NAME);
272
	}
332
    /**
333
     * Return a reference to {@link DataTypesManager}.
334
     *
335
     * @return a reference to {@link DataTypesManager}
336
     * @throws LocatorException if there is no access to the class or the class
337
     * cannot be instantiated
338
     * @see Locator#get(String)
339
     */
340
    public static DataTypesManager getDataTypesManager()
341
            throws LocatorException {
342
        return (DataTypesManager) getInstance().get(DATATYPES_MANAGER_NAME);
343
    }
273 344

  
274
	/**
275
	 * Registers the Class implementing the {@link ServiceLoader} interface.
276
	 *
277
	 * @param clazz
278
	 *            implementing the {@link ServiceLoader} interface
279
	 */
280
	public static void registerServiceLoader(Class clazz) {
281
		getInstance().register(SERVICE_LOADER_NAME, SERVICE_LOADER_DESCRIPTION,
282
				clazz);
283
	}
345
    /**
346
     * Returns the comma separated list of XmlPullParserFactory, XmlPullParser
347
     * or XmlSerializer implementations to be used.
348
     * <p>
349
     * This parameter must be passed to the {@link XmlPullParserFactory} class
350
     * to get an instance of the factory with an available implementation. That
351
     * class will use the list to try to instance the classes included, and will
352
     * use the first one available in the list order.
353
     * </p>
354
     * <p>
355
     * <strong>Example getting an {@link XmlPullParser}:</strong>
356
     *
357
     * <pre>
358
     * XmlPullParserFactory factory = XmlPullParserFactory.newInstance(ToolsLocator
359
     * 		.getInstance().getXmlPullParserFactoryClassNames(), null);
360
     *
361
     * XmlPullParser xpp = factory.newPullParser();
362
     * </pre>
363
     *
364
     * </p>
365
     * <p>
366
     * <strong>Example getting an {@link XmlSerializer}:</strong>
367
     *
368
     * <pre>
369
     * XmlPullParserFactory factory = XmlPullParserFactory.newInstance(ToolsLocator
370
     * 		.getInstance().getXmlPullParserFactoryClassNames(), null);
371
     *
372
     * XmlSerializer serializer = factory.newSerializer();
373
     * </pre>
374
     *
375
     * </p>
376
     *
377
     * @return the xmlPullParserFactoryClassNames
378
     * @see XmlPullParserFactory#newInstance(String, Class).
379
     */
380
    public String getXmlPullParserFactoryClassNames() {
381
        return xmlPullParserFactoryClassNames;
382
    }
284 383

  
285
	/**
286
	 * Return a reference to {@link I18nManager}.
287
	 *
288
	 * @return a reference to {@link I18nManager}
289
	 * @throws LocatorException
290
	 *             if there is no access to the class or the class cannot be
291
	 *             instantiated
292
	 * @see Locator#get(String)
293
	 */
294
	public static I18nManager getI18nManager() throws LocatorException {
295
		return (I18nManager) getInstance().get(I18N_MANAGER_NAME);
296
	}
384
    /**
385
     * Sets a comma separated list of XmlPullParserFactory, XmlPullParser or
386
     * XmlSerializer implementations to be used.
387
     *
388
     * @param xmlPullParserFactoryClassNames the comma separated list of
389
     * XmlPullParserFactory class name
390
     */
391
    public void setXmlPullParserFactoryClassNames(
392
            String xmlPullParserFactoryClassNames) {
393
        this.xmlPullParserFactoryClassNames = xmlPullParserFactoryClassNames;
394
    }
297 395

  
298
	/**
299
	 * Registers the Class implementing the {@link I18nManager} interface.
300
	 *
301
	 * @param clazz
302
	 *            implementing the {@link I18nManager} interface
303
	 */
304
	public static void registerI18nManager(Class clazz) {
305
		getInstance().register(I18N_MANAGER_NAME, I18N_MANAGER_DESCRIPTION,
306
				clazz);
307
	}
396
    /**
397
     * Registers the Class implementing the {@link TaskStatusManager} interface.
398
     *
399
     * @param clazz implementing the {@link TaskStatusManager} interface
400
     */
401
    public static void registerTaskStatusManager(Class clazz) {
402
        getInstance().register(TASKSTATUS_MANAGER_NAME,
403
                TASKSTATUS_MANAGER_DESCRIPTION, clazz);
404
    }
308 405

  
309
	/**
310
	 * Registers the default Class implementing the {@link I18nManager}
311
	 * interface.
312
	 *
313
	 * @param clazz
314
	 *            implementing the {@link I18nManager} interface
315
	 */
316
	public static void registerDefaultI18nManager(Class clazz) {
317
		getInstance().registerDefault(I18N_MANAGER_NAME,
318
				I18N_MANAGER_DESCRIPTION, clazz);
319
	}
406
    /**
407
     * Registers the default Class implementing the {@link TaskStatusManager}
408
     * interface.
409
     *
410
     * @param clazz implementing the {@link TaskStatusManager} interface
411
     */
412
    public static void registerDefaultTaskStatusManager(Class clazz) {
413
        getInstance().registerDefault(TASKSTATUS_MANAGER_NAME,
414
                TASKSTATUS_MANAGER_DESCRIPTION, clazz);
415
    }
320 416

  
321
	/**
322
	 * Registers the Class implementing the DataTypesManager interface.
323
	 *
324
	 * @param clazz
325
	 *            implementing the {@link DataTypesManag} interface
326
	 */
327
	public static void registerDataTypesManager(Class clazz) {
328
		getInstance().register(DATATYPES_MANAGER_NAME,
329
				DATATYPES_MANAGER_DESCRIPTION, clazz);
330
	}
417
    /**
418
     * Return a reference to {@link TaskStatusManager}.
419
     *
420
     * @return a reference to {@link TaskStatusManager}
421
     * @throws LocatorException if there is no access to the class or the class
422
     * cannot be instantiated
423
     * @see Locator#get(String)
424
     */
425
    public static TaskStatusManager getTaskStatusManager()
426
            throws LocatorException {
427
        return (TaskStatusManager) getInstance().get(TASKSTATUS_MANAGER_NAME);
428
    }
331 429

  
332
	/**
333
	 * Registers the default Class implementing the DataTypesManager interface.
334
	 *
335
	 * @param clazz
336
	 *            implementing the {@link DataTypesManager} interface
337
	 */
338
	public static void registerDefaultDataTypesManager(Class clazz) {
339
		getInstance().registerDefault(DATATYPES_MANAGER_NAME,
340
				DATATYPES_MANAGER_DESCRIPTION, clazz);
341
	}
430
    /**
431
     * Registers the Class implementing the {@link PackageManager} interface.
432
     *
433
     * @param clazz implementing the {@link PackageManager} interface
434
     */
435
    public static void registerPackageManager(Class clazz) {
436
        getInstance().register(PACKAGE_MANAGER_NAME,
437
                PACKAGE_MANAGER_DESCRIPTION, clazz);
438
    }
342 439

  
343
	/**
344
	 * Return a reference to {@link DataTypesManager}.
345
	 *
346
	 * @return a reference to {@link DataTypesManager}
347
	 * @throws LocatorException
348
	 *             if there is no access to the class or the class cannot be
349
	 *             instantiated
350
	 * @see Locator#get(String)
351
	 */
352
	public static DataTypesManager getDataTypesManager()
353
			throws LocatorException {
354
		return (DataTypesManager) getInstance().get(DATATYPES_MANAGER_NAME);
355
	}
440
    /**
441
     * Registers the default Class implementing the {@link PackageManager}
442
     * interface.
443
     *
444
     * @param clazz implementing the {@link PackageManager} interface
445
     */
446
    public static void registerDefaultPackageManager(Class clazz) {
447
        getInstance().registerDefault(PACKAGE_MANAGER_NAME,
448
                PACKAGE_MANAGER_DESCRIPTION, clazz);
449
    }
356 450

  
357
	/**
358
	 * Returns the comma separated list of XmlPullParserFactory, XmlPullParser
359
	 * or XmlSerializer implementations to be used.
360
	 * <p>
361
	 * This parameter must be passed to the {@link XmlPullParserFactory} class
362
	 * to get an instance of the factory with an available implementation. That
363
	 * class will use the list to try to instance the classes included, and will
364
	 * use the first one available in the list order.
365
	 * </p>
366
	 * <p>
367
	 * <strong>Example getting an {@link XmlPullParser}:</strong>
368
	 *
369
	 * <pre>
370
	 * XmlPullParserFactory factory = XmlPullParserFactory.newInstance(ToolsLocator
371
	 * 		.getInstance().getXmlPullParserFactoryClassNames(), null);
372
	 *
373
	 * XmlPullParser xpp = factory.newPullParser();
374
	 * </pre>
375
	 *
376
	 * </p>
377
	 * <p>
378
	 * <strong>Example getting an {@link XmlSerializer}:</strong>
379
	 *
380
	 * <pre>
381
	 * XmlPullParserFactory factory = XmlPullParserFactory.newInstance(ToolsLocator
382
	 * 		.getInstance().getXmlPullParserFactoryClassNames(), null);
383
	 *
384
	 * XmlSerializer serializer = factory.newSerializer();
385
	 * </pre>
386
	 *
387
	 * </p>
388
	 *
389
	 * @return the xmlPullParserFactoryClassNames
390
	 * @see XmlPullParserFactory#newInstance(String, Class).
391
	 */
392
	public String getXmlPullParserFactoryClassNames() {
393
		return xmlPullParserFactoryClassNames;
394
	}
451
    /**
452
     * Return a reference to {@link PackageManager}.
453
     *
454
     * @return a reference to {@link PackageManager}
455
     * @throws LocatorException if there is no access to the class or the class
456
     * cannot be instantiated
457
     * @see Locator#get(String)
458
     */
459
    public static PackageManager getPackageManager()
460
            throws LocatorException {
461
        return (PackageManager) getInstance().get(PACKAGE_MANAGER_NAME);
462
    }
395 463

  
396
	/**
397
	 * Sets a comma separated list of XmlPullParserFactory, XmlPullParser or
398
	 * XmlSerializer implementations to be used.
399
	 *
400
	 * @param xmlPullParserFactoryClassNames
401
	 *            the comma separated list of XmlPullParserFactory class name
402
	 */
403
	public void setXmlPullParserFactoryClassNames(
404
			String xmlPullParserFactoryClassNames) {
405
		this.xmlPullParserFactoryClassNames = xmlPullParserFactoryClassNames;
406
	}
464
    /**
465
     * Registers the Class implementing the {@link SimpleIdentityManager}
466
     * interface.
467
     *
468
     * @param clazz implementing the {@link SimpleIdentityManager} interface
469
     */
470
    public static void registerIdentityManager(Class clazz) {
471
        getInstance().register(IDENTITY_MANAGER_NAME,
472
                IDENTITY_MANAGER_DESCRIPTION, clazz);
473
    }
407 474

  
408
	/**
409
	 * Registers the Class implementing the {@link TaskStatusManager} interface.
410
	 *
411
	 * @param clazz
412
	 *            implementing the {@link TaskStatusManager} interface
413
	 */
414
	public static void registerTaskStatusManager(Class clazz) {
415
		getInstance().register(TASKSTATUS_MANAGER_NAME,
416
				TASKSTATUS_MANAGER_DESCRIPTION, clazz);
417
	}
475
    /**
476
     * Registers the default Class implementing the
477
     * {@link SimpleIdentityManager} interface.
478
     *
479
     * @param clazz implementing the {@link SimpleIdentityManager} interface
480
     */
481
    public static void registerDefaultIdentityManager(Class clazz) {
482
        getInstance().registerDefault(IDENTITY_MANAGER_NAME,
483
                IDENTITY_MANAGER_DESCRIPTION, clazz);
484
    }
418 485

  
419
	/**
420
	 * Registers the default Class implementing the {@link TaskStatusManager} interface.
421
	 *
422
	 * @param clazz
423
	 *            implementing the {@link TaskStatusManager} interface
424
	 */
425
	public static void registerDefaultTaskStatusManager(Class clazz) {
426
		getInstance().registerDefault(TASKSTATUS_MANAGER_NAME,
427
				TASKSTATUS_MANAGER_DESCRIPTION, clazz);
428
	}
486
    /**
487
     * Return a reference to {@link SimpleIdentityManager}.
488
     *
489
     * @return a reference to {@link SimpleIdentityManager}
490
     * @throws LocatorException if there is no access to the class or the class
491
     * cannot be instantiated
492
     * @see Locator#get(String)
493
     */
494
    public static SimpleIdentityManager getIdentityManager()
495
            throws LocatorException {
496
        return (SimpleIdentityManager) getInstance().get(IDENTITY_MANAGER_NAME);
497
    }
429 498

  
430
	/**
431
	 * Return a reference to {@link TaskStatusManager}.
432
	 *
433
	 * @return a reference to {@link TaskStatusManager}
434
	 * @throws LocatorException
435
	 *             if there is no access to the class or the class cannot be
436
	 *             instantiated
437
	 * @see Locator#get(String)
438
	 */
439
	public static TaskStatusManager getTaskStatusManager()
440
			throws LocatorException {
441
		return (TaskStatusManager) getInstance().get(TASKSTATUS_MANAGER_NAME);
442
	}
499
    /**
500
     * Registers the default Class implementing the FirewallManager interface.
501
     *
502
     * @param clazz implementing the {@link FirewallManager} interface
503
     */
504
    public static void registerDefaultFirewallManager(Class clazz) {
505
        getInstance().registerDefault(FIREWALL_MANAGER_NAME,
506
                FIREWALL_MANAGER_DESCRIPTION, clazz);
507
    }
443 508

  
509
    /**
510
     * Return a reference to {@link FirewallManager}.
511
     *
512
     * @return a reference to {@link FirewallManager}
513
     * @throws LocatorException if there is no access to the class or the class
514
     * cannot be instantiated
515
     * @see Locator#get(String)
516
     */
517
    public static FirewallConfiguration getFirewallManager()
518
            throws LocatorException {
519
        return (FirewallConfiguration) getInstance().get(FIREWALL_MANAGER_NAME);
520
    }
444 521

  
522
    public static void initializeLibraries() {
523
        new DefaultLibrariesInitializer().fullInitialize();
524
    }
445 525

  
446
	/**
447
	 * Registers the Class implementing the {@link PackageManager} interface.
448
	 *
449
	 * @param clazz
450
	 *            implementing the {@link PackageManager} interface
451
	 */
452
	public static void registerPackageManager(Class clazz) {
453
		getInstance().register(PACKAGE_MANAGER_NAME,
454
				PACKAGE_MANAGER_DESCRIPTION, clazz);
455
	}
456
	/**
457
	 * Registers the default Class implementing the {@link PackageManager} interface.
458
	 *
459
	 * @param clazz
460
	 *            implementing the {@link PackageManager} interface
461
	 */
462
	public static void registerDefaultPackageManager(Class clazz) {
463
		getInstance().registerDefault(PACKAGE_MANAGER_NAME,
464
				PACKAGE_MANAGER_DESCRIPTION, clazz);
465
	}
526
    public static void initializeLibraries(ClassLoader classLoader, boolean ignoreerrors) {
527
        new DefaultLibrariesInitializer(classLoader).fullInitialize(ignoreerrors);
528
    }
466 529

  
467
	/**
468
	 * Return a reference to {@link PackageManager}.
469
	 *
470
	 * @return a reference to {@link PackageManager}
471
	 * @throws LocatorException
472
	 *             if there is no access to the class or the class cannot be
473
	 *             instantiated
474
	 * @see Locator#get(String)
475
	 */
476
	public static PackageManager getPackageManager()
477
			throws LocatorException {
478
		return (PackageManager) getInstance().get(PACKAGE_MANAGER_NAME);
479
	}
480

  
481
	/**
482
	 * Registers the Class implementing the {@link SimpleIdentityManager} interface.
483
	 *
484
	 * @param clazz
485
	 *            implementing the {@link SimpleIdentityManager} interface
486
	 */
487
	public static void registerIdentityManager(Class clazz) {
488
		getInstance().register(IDENTITY_MANAGER_NAME,
489
				IDENTITY_MANAGER_DESCRIPTION, clazz);
490
	}
491
	/**
492
	 * Registers the default Class implementing the {@link SimpleIdentityManager} interface.
493
	 *
494
	 * @param clazz
495
	 *            implementing the {@link SimpleIdentityManager} interface
496
	 */
497
	public static void registerDefaultIdentityManager(Class clazz) {
498
		getInstance().registerDefault(IDENTITY_MANAGER_NAME,
499
				IDENTITY_MANAGER_DESCRIPTION, clazz);
500
	}
501

  
502
	/**
503
	 * Return a reference to {@link SimpleIdentityManager}.
504
	 *
505
	 * @return a reference to {@link SimpleIdentityManager}
506
	 * @throws LocatorException
507
	 *             if there is no access to the class or the class cannot be
508
	 *             instantiated
509
	 * @see Locator#get(String)
510
	 */
511
	public static SimpleIdentityManager getIdentityManager()
512
			throws LocatorException {
513
		return (SimpleIdentityManager) getInstance().get(IDENTITY_MANAGER_NAME);
514
	}
515

  
516
	/**
517
	 * Registers the default Class implementing the FirewallManager interface.
518
	 *
519
	 * @param clazz
520
	 *            implementing the {@link FirewallManager} interface
521
	 */
522
	public static void registerDefaultFirewallManager(Class clazz) {
523
		getInstance().registerDefault(FIREWALL_MANAGER_NAME,
524
				FIREWALL_MANAGER_DESCRIPTION, clazz);
525
	}
526

  
527
	/**
528
	 * Return a reference to {@link FirewallManager}.
529
	 *
530
	 * @return a reference to {@link FirewallManager}
531
	 * @throws LocatorException
532
	 *             if there is no access to the class or the class cannot be
533
	 *             instantiated
534
	 * @see Locator#get(String)
535
	 */
536
	public static FirewallConfiguration getFirewallManager()
537
			throws LocatorException {
538
		return (FirewallConfiguration) getInstance().get(FIREWALL_MANAGER_NAME);
539
	}
540

  
541
        public static void initializeLibraries() {
542
            new DefaultLibrariesInitializer().fullInitialize();
543
        }
544

  
545
        public static void initializeLibraries(ClassLoader classLoader,boolean ignoreerrors) {
546
            new DefaultLibrariesInitializer(classLoader).fullInitialize(ignoreerrors);
547
        }
548

  
549
}
530
}

Also available in: Unified diff