View Javadoc

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