01: // ========================================================================
02: // $Id: DefList.java,v 1.3 2004/05/09 20:31:28 gregwilkins Exp $
03: // Copyright 1996-2004 Mort Bay Consulting Pty. Ltd.
04: // ------------------------------------------------------------------------
05: // Licensed under the Apache License, Version 2.0 (the "License");
06: // you may not use this file except in compliance with the License.
07: // You may obtain a copy of the License at
08: // http://www.apache.org/licenses/LICENSE-2.0
09: // 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:
18: import java.io.IOException;
19: import java.io.Writer;
20: import java.util.Vector;
21:
22: // =======================================================================
23: public class DefList extends Element {
24:
25: // ------------------------------------------------------------
26: public DefList() {
27: terms = new Vector();
28: defs = new Vector();
29: }
30:
31: // ------------------------------------------------------------
32: public void add(Element term, Element def) {
33: terms.addElement(term);
34: defs.addElement(def);
35: }
36:
37: // ------------------------------------------------------------
38: public void write(Writer out) throws IOException {
39: out.write("<dl" + attributes() + ">");
40:
41: if (terms.size() != defs.size())
42: throw new Error("mismatched Vector sizes");
43:
44: for (int i = 0; i < terms.size(); i++) {
45: out.write("<dt>");
46: ((Element) terms.elementAt(i)).write(out);
47: out.write("</dt><dd>");
48: ((Element) defs.elementAt(i)).write(out);
49: out.write("</dd>");
50: }
51:
52: out.write("</dl>");
53: }
54:
55: // ------------------------------------------------------------
56: private Vector terms;
57: private Vector defs;
58: }
|