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