1 // $Id: XmlWritable.java,v 1.1 2004/01/31 20:33:34 powerpete Exp $
2 // [JMP, 16.01.2004] Created this file.
3 package jface.util.factory;
4
5 /***
6 * This interface has to be implemented by objects that will control their
7 * appearance when used by the {@link jface.util.factory.XmlObjectWriter}.
8 * <p>
9 * In the method {@link #generateEntry(XmlObjectWriter)} all neccessary
10 * properties have to be written.
11 * <p>
12 * <h3>Example</h3>
13 * <p>
14 * The following example shows a class implementing this interface:
15 * <p>
16 * <pre>
17 * <b>public class</b> Cake <b>implements</b> XmlWritable
18 * {
19 * <b>private</b> String name;
20 * <b>private</b> Collection ingredients = <b>new</b> ArrayList();
21 *
22 * <b>public void</b> setName(String name)
23 * {
24 * <b>this</b>.name = name;
25 * }
26 *
27 * <b>public void</b> addIngredient(Ingredient ingredient)
28 * {
29 * ingredients.add(ingredient);
30 * }
31 *
32 * <b>public void</b> generateEntry(XmlObjectWriter writer)
33 * {
34 * writer.write(<span style="color:darkblue">"name"</span>, name);
35 * <span style="color:grey">// Can handle collections:</span>
36 * writer.write(<span style="color:darkblue">"ingredient"</span>, ingredients);
37 * }
38 *
39 * <span style="color:grey">// other methods ...</span>
40 * }
41 * </pre>
42 *
43 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
44 * @version $Id: XmlWritable.java,v 1.1 2004/01/31 20:33:34 powerpete Exp $
45 */
46 public interface XmlWritable
47 {
48 /***
49 * Generates the entry for the entire object.
50 *
51 * @param writer The {@link XmlObjectWriter} that will be used for
52 * writing the properties.
53 */
54 void generateEntry(XmlObjectWriter writer);
55 }
This page was automatically generated by Maven