/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. * * This program and the accompanying materials are made available under * the terms of the Common Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/cpl-v10.html * * $Id: Tag.java,v 1.1.1.1 2004/05/09 16:57:41 vlad_r Exp $ */ package com.vladium.emma.report.html.doc; import com.vladium.util.asserts.$assert; // ---------------------------------------------------------------------------- /** * @author Vlad Roubtsov, (C) 2003 */ public abstract class Tag implements IContent { // public: ................................................................ public static final Tag HTML = new TagImpl ("HTML"); public static final Tag HEAD = new TagImpl ("HEAD"); public static final Tag BODY = new TagImpl ("BODY"); public static final Tag META = new TagImpl ("META"); public static final Tag STYLE = new TagImpl ("STYLE"); public static final Tag TITLE = new TagImpl ("TITLE"); public static final Tag H1 = new TagImpl ("H1"); public static final Tag H2 = new TagImpl ("H2"); public static final Tag H3 = new TagImpl ("H3"); public static final Tag H4 = new TagImpl ("H4"); public static final Tag H5 = new TagImpl ("H5"); public static final Tag H6 = new TagImpl ("H6"); public static final Tag LINK = new TagImpl ("LINK"); public static final Tag A = new TagImpl ("A"); public static final Tag TABLE = new TagImpl ("TABLE"); public static final Tag CAPTION = new TagImpl ("CAPTION"); public static final Tag TH = new TagImpl ("TH"); public static final Tag TR = new TagImpl ("TR"); public static final Tag TD = new TagImpl ("TD"); public static final Tag HR = new TagImpl ("HR"); public static final Tag P = new TagImpl ("P"); public static final Tag SPAN = new TagImpl ("SPAN"); public static final Tag [] Hs = new Tag [] {H1, H2, H3, H4, H4, H6}; public abstract String getName (); // protected: ............................................................. // package: ............................................................... Tag () {} // private: ............................................................... private static final class TagImpl extends Tag { public void emit (final HTMLWriter out) { out.write (m_name); } public String getName () { return m_name; } public String toString () { return m_name; } TagImpl (final String name) { if ($assert.ENABLED) $assert.ASSERT (name != null, "name = null"); m_name = name; } private final String m_name; } // end of } // end of class // ----------------------------------------------------------------------------