annotate artifact-database/src/main/java/de/intevation/artifactdatabase/state/Settings.java @ 363:4d3298295a64

Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact. artifacts/trunk@3623 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 09 Jan 2012 08:15:35 +0000
parents f93edbfcf2bc
children
rev   line source
358
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.artifactdatabase.state;
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.io.Serializable;
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.w3c.dom.Node;
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 /**
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 */
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 public interface Settings extends Serializable {
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 /**
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 * Adds a new Section to this Settings object.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 *
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 * @param section the new Section.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 */
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 void addSection(Section section);
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 /**
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 * Returns the number of Sections in this Settings object.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 *
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 * @return the number of sections.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 */
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 int getSectionCount();
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 /**
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 * Returns the section at position <i>pos</i>.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 *
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 * @param pos the position of the target Section.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 *
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 * @return the Section at position <i>pos</i> or null if no Section is
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 * existing at <i>pos</i>.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 */
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 Section getSection(int pos);
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 /**
359
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
38 * Removes a Section if it is existing in this Settings.
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
39 *
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
40 * @param section The section that should be removed.
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
41 */
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
42 void removeSection(Section section);
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
43
f93edbfcf2bc Improved the Settings and Section interfaces and added default implementations for both.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
44 /**
358
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 * Transforms this Settings object into a XML representation. Therefore,
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 * each Section object's <i>toXML</i> method is called to append its XML
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 * representation to the final document.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 *
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 * @param parent The parent node.
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 */
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 void toXML(Node parent);
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 }
03a8f9796571 Added interfaces for a Settings hierachy currently used for Outputs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org