KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > vladium > emma > report > html > doc > Attribute


1 /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved.
2  *
3  * This program and the accompanying materials are made available under
4  * the terms of the Common Public License v1.0 which accompanies this distribution,
5  * and is available at http://www.eclipse.org/legal/cpl-v10.html
6  *
7  * $Id: Attribute.java,v 1.1.1.1 2004/05/09 16:57:41 vlad_r Exp $
8  */

9 package com.vladium.emma.report.html.doc;
10
11 import com.vladium.util.asserts.$assert;
12
13 // ----------------------------------------------------------------------------
14
/**
15  * @author Vlad Roubtsov, (C) 2003
16  */

17 public
18 abstract class Attribute implements IContent
19 {
20     // public: ................................................................
21

22     public static final Attribute ID = new AttributeImpl ("ID");
23     public static final Attribute NAME = new AttributeImpl ("NAME");
24     public static final Attribute TITLE = new AttributeImpl ("TITLE");
25     public static final Attribute TYPE = new AttributeImpl ("TYPE");
26     public static final Attribute CLASS = new AttributeImpl ("CLASS");
27     public static final Attribute HTTP_EQUIV = new AttributeImpl ("HTTP-EQUIV");
28     public static final Attribute CONTENT = new AttributeImpl ("CONTENT");
29     public static final Attribute HREF = new AttributeImpl ("HREF");
30     public static final Attribute SRC = new AttributeImpl ("SRC");
31     public static final Attribute REL = new AttributeImpl ("REL");
32     public static final Attribute WIDTH = new AttributeImpl ("WIDTH");
33     public static final Attribute SIZE = new AttributeImpl ("SIZE");
34     public static final Attribute BORDER = new AttributeImpl ("BORDER");
35     public static final Attribute CELLPADDING = new AttributeImpl ("CELLPADDING");
36     public static final Attribute CELLSPACING = new AttributeImpl ("CELLSPACING");
37     public static final Attribute ALIGN = new AttributeImpl ("ALIGN");
38     public static final Attribute COLSPAN = new AttributeImpl ("COLSPAN");
39     
40     public abstract String JavaDoc getName ();
41     
42     public abstract boolean equals (final Object JavaDoc rhs);
43     public abstract int hashCode ();
44     
45     
46     // protected: .............................................................
47

48     // package: ...............................................................
49

50     
51     Attribute () {}
52     
53     // private: ...............................................................
54

55     
56     private static final class AttributeImpl extends Attribute
57     {
58         
59         public boolean equals (final Object JavaDoc rhs)
60         {
61             if (this == rhs) return true;
62             if (! (rhs instanceof AttributeImpl)) return false;
63             
64             return m_name.equals (((AttributeImpl) rhs).m_name);
65         }
66         
67         public int hashCode ()
68         {
69             return m_name.hashCode ();
70         }
71         
72         public String JavaDoc toString ()
73         {
74             return m_name;
75         }
76         
77         public void emit (final HTMLWriter out)
78         {
79             out.write (m_name); // no need to escape anything
80
}
81         
82         public String JavaDoc getName ()
83         {
84             return m_name;
85         }
86         
87         
88         AttributeImpl (final String JavaDoc name)
89         {
90             if ($assert.ENABLED) $assert.ASSERT (name != null, "name = null");
91             
92             m_name = name;
93         }
94
95         
96         private final String JavaDoc m_name;
97         
98     } // end of nested class
99

100 } // end of class
101
// ----------------------------------------------------------------------------
Popular Tags