Mercurial > dive4elements > framework
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 : |