| Index: java/org/chromium/distiller/webdocument/WebTag.java
|
| diff --git a/java/org/chromium/distiller/webdocument/WebTag.java b/java/org/chromium/distiller/webdocument/WebTag.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ecf6e70c2d493a35e58f58bfb57ee72eb74860fd
|
| --- /dev/null
|
| +++ b/java/org/chromium/distiller/webdocument/WebTag.java
|
| @@ -0,0 +1,50 @@
|
| +package org.chromium.distiller.webdocument;
|
| +
|
| +import java.util.HashSet;
|
| +import java.util.Set;
|
| +
|
| +/**
|
| + * This class represents HTML tags that need to be preserved over
|
| + * the distillation process.
|
| + */
|
| +public class WebTag extends WebElement {
|
| + private String tagName;
|
| + private TagType tagType;
|
| +
|
| + public enum TagType {
|
| + START, END
|
| + }
|
| +
|
| + private static Set<String> nestingTags;
|
| + static {
|
| + nestingTags = new HashSet<String>();
|
| + nestingTags.add("UL");
|
| + nestingTags.add("OL");
|
| + nestingTags.add("LI");
|
| + }
|
| +
|
| + public WebTag(String tagName, TagType tagType) {
|
| + this.tagName = tagName;
|
| + this.tagType = tagType;
|
| + }
|
| +
|
| + public boolean isStartTag() {
|
| + return tagType == TagType.START;
|
| + }
|
| +
|
| + public String getTagName() {
|
| + return tagName;
|
| + }
|
| +
|
| + @Override
|
| + public String generateOutput(boolean textOnly) {
|
| + if (textOnly) {
|
| + return "";
|
| + }
|
| + return "<" + (isStartTag() ? "" : "/") + tagName + ">";
|
| + }
|
| +
|
| + public static boolean canBeNested(String tagName) {
|
| + return nestingTags.contains(tagName);
|
| + }
|
| +}
|
|
|