KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mortbay > html > Block


1 // ========================================================================
2
// $Id: Block.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 JavaDoc;
18 import java.io.Writer JavaDoc;
19
20 /* -------------------------------------------------------------------- */
21 /** HTML Block Composite.
22  * Block of predefined or arbitrary type.
23  * Block types are predefined for PRE, BLOCKQUOTE, CENTER, LISTING,
24  * PLAINTEXT, XMP, DIV (Left and Right) and SPAN.
25  * @see org.mortbay.html.Composite
26  */

27 public class Block extends Composite
28 {
29     /* ----------------------------------------------------------------- */
30     /** Preformatted text */
31     public static final String JavaDoc Pre="pre";
32     /** Quoted Text */
33     public static final String JavaDoc Quote="blockquote";
34     /** Center the block */
35     public static final String JavaDoc Center="center";
36     /** Code listing style */
37     public static final String JavaDoc Listing="listing";
38     /** Plain text */
39     public static final String JavaDoc Plain="plaintext";
40     /** Old pre format - preserve line breaks */
41     public static final String JavaDoc Xmp="xmp";
42     /** Basic Division */
43     public static final String JavaDoc Div="div";
44     /** Left align */
45     public static final String JavaDoc Left="divl";
46     /** Right align */
47     public static final String JavaDoc Right="divr";
48     /** Bold */
49     public static final String JavaDoc Bold="b";
50     /** Italic */
51     public static final String JavaDoc Italic="i";
52     /** Span */
53     public static final String JavaDoc Span="span";
54
55     /* ----------------------------------------------------------------- */
56     private String JavaDoc tag;
57
58     /* ----------------------------------------------------------------- */
59     /** Construct a block using the passed string as the tag.
60      * @param tag The tag to use to open and close the block.
61      */

62     public Block(String JavaDoc tag)
63     {
64         this.tag=tag;
65         if (tag==Left)
66         {
67             tag=Div;
68             left();
69         }
70         if (tag==Right)
71         {
72             tag=Div;
73             right();
74         }
75     }
76
77     /* ----------------------------------------------------------------- */
78     /** Construct a block using the passed string as the tag.
79      * @param tag The tag to use to open and close the block.
80      * @param attributes String of attributes for opening tag.
81      */

82     public Block(String JavaDoc tag, String JavaDoc attributes)
83     {
84         super(attributes);
85         this.tag=tag;
86     }
87         
88     /* ----------------------------------------------------------------- */
89     public void write(Writer JavaDoc out)
90          throws IOException JavaDoc
91     {
92         out.write('<'+tag+attributes()+'>');
93         super.write(out);
94         out.write("</"+tag+"\n>");
95     }
96 }
97
98
99
Popular Tags