Mercurial > dive4elements > framework
comparison artifacts/src/main/java/org/dive4elements/artifacts/ServiceFactory.java @ 471:1a87cb24a446
Moved directories to org.dive4elements
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 10:50:31 +0200 |
parents | artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java@a8d62eb93cd4 |
children | 415df0fc4fa1 |
comparison
equal
deleted
inserted
replaced
470:19cb9729bd17 | 471:1a87cb24a446 |
---|---|
1 /* | |
2 * Copyright (c) 2010 by Intevation GmbH | |
3 * | |
4 * This program is free software under the LGPL (>=v2.1) | |
5 * Read the file LGPL.txt coming with the software for details | |
6 * or visit http://www.gnu.org/licenses/ if it does not exist. | |
7 */ | |
8 | |
9 package de.intevation.artifacts; | |
10 | |
11 import java.io.Serializable; | |
12 | |
13 import org.w3c.dom.Document; | |
14 import org.w3c.dom.Node; | |
15 | |
16 /** | |
17 * A factory which an XML in/XML out service which reachable through the | |
18 * artifact database. | |
19 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> | |
20 */ | |
21 public interface ServiceFactory | |
22 extends Serializable | |
23 { | |
24 /** | |
25 * The name of the service which is created by this factory. | |
26 * @return The name of the created service. | |
27 */ | |
28 String getName(); | |
29 | |
30 /** | |
31 * The description of the service which is created by this factory. | |
32 * @return The description. | |
33 */ | |
34 String getDescription(); | |
35 | |
36 /** | |
37 * Creates the service. This is done at startup time of the | |
38 * artifact database system. | |
39 * @param globalContext The global context of the artifact database. | |
40 * @return The created service. | |
41 */ | |
42 Service createService(GlobalContext globalContext); | |
43 | |
44 /** | |
45 * Configures this factory. This is called before | |
46 * #createService(Object). | |
47 * @param config The global configuration document of the artifact | |
48 * database system. | |
49 * @param factoryNode The node inside the configuration document which | |
50 * corresponds to this factory. | |
51 */ | |
52 void setup(Document config, Node factoryNode); | |
53 } | |
54 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |