1 // ========================================================================
2 // $Id: DefList.java,v 1.3 2004/05/09 20:31:28 gregwilkins Exp $
3 // Copyright 1996-2004 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 // ========================================================================
15
16 package org.mortbay.html;
17 import java.io.IOException;
18 import java.io.Writer;
19 import java.util.Vector;
20
21 // =======================================================================
22 public class DefList extends Element
23 {
24
25 // ------------------------------------------------------------
26 public DefList()
27 {
28 terms = new Vector();
29 defs = new Vector();
30 }
31
32 // ------------------------------------------------------------
33 public void add(Element term, Element def)
34 {
35 terms.addElement(term);
36 defs.addElement(def);
37 }
38
39 // ------------------------------------------------------------
40 public void write(Writer out)
41 throws IOException
42 {
43 out.write("<dl"+attributes()+">");
44
45 if (terms.size() != defs.size())
46 throw new Error("mismatched Vector sizes");
47
48 for (int i=0; i <terms.size() ; i++)
49 {
50 out.write("<dt>");
51 ((Element)terms.elementAt(i)).write(out);
52 out.write("</dt><dd>");
53 ((Element)defs.elementAt(i)).write(out);
54 out.write("</dd>");
55 }
56
57 out.write("</dl>");
58 }
59
60 // ------------------------------------------------------------
61 private Vector terms;
62 private Vector defs;
63 }
64