1 /*
2 * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26 package javax.swing.text.html.parser;
27
28 import javax.swing.text.html.HTML;
29 /**
30 * A generic HTML TagElement class. The methods define how white
31 * space is interpreted around the tag.
32 *
33 * @author Sunita Mani
34 */
35
36 public class TagElement {
37
38 Element elem;
39 HTML.Tag htmlTag;
40 boolean insertedByErrorRecovery;
41
42 public TagElement ( Element elem ) {
43 this(elem, false);
44 }
45
46 public TagElement (Element elem, boolean fictional) {
47 this.elem = elem;
48 htmlTag = HTML.getTag(elem.getName());
49 if (htmlTag == null) {
50 htmlTag = new HTML.UnknownTag(elem.getName());
51 }
52 insertedByErrorRecovery = fictional;
53 }
54
55 public boolean breaksFlow() {
56 return htmlTag.breaksFlow();
57 }
58
59 public boolean isPreformatted() {
60 return htmlTag.isPreformatted();
61 }
62
63 public Element getElement() {
64 return elem;
65 }
66
67 public HTML.Tag getHTMLTag() {
68 return htmlTag;
69 }
70
71 public boolean fictional() {
72 return insertedByErrorRecovery;
73 }
74 }