⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tag.java

📁 手机Wap浏览器源码
💻 JAVA
字号:
package wmlcparser;
import java.util.Enumeration;
import java.util.Hashtable;


public class Tag
{
	static final int TYPE_TEXT = 1;		// 文字
	static final int TYPE_NORMAL = 2;	// 普通Tag
	
	Hashtable attribute = new Hashtable();
	boolean isHaveAttribute = false;
	boolean isHaveContent = false;
	Tag[] subTags = null;
	
	int tagToken = -1;
	int type = TYPE_NORMAL;
	
	// TEXT TAG 专用
	String text = "text";
	
	public Tag(int type)
	{
		this.type = type;
	}	
	
	void handleByte(byte b)
	{
		
	}
	
	void addSubTag(Tag subTag)
	{
		if(subTag == null) { return; }
		
		//#ifdef debug
		//# System.out.println("Tag:" + Token.getTagName(this.tagToken) 
				//# + " add -> " + Token.getTagName(subTag.tagToken)
				//# + " type == " + (subTag.type==TYPE_NORMAL?"NORMAL":"TEXT"));
		//#endif
		
		if(subTags == null)
		{
			subTags = new Tag[1];
			subTags[0] = subTag;
		}else
		{
			Tag[] newSubTags = new Tag[subTags.length + 1];
			System.arraycopy(subTags, 0, newSubTags, 0, subTags.length);
			newSubTags[newSubTags.length - 1] = subTag;
			this.subTags = newSubTags;
		}
	}
	
	void addAttribute(String attLabel, String attValue)
	{
		if(attLabel == null || attValue == null) { return; }
		
		this.attribute.put(attLabel, attValue);
	}
	
	public String toString()
	{
		if(this.type == TYPE_TEXT)
		{
			return this.text + "\n";
		}
		
		String str = "";
		str += "<" + Token.getTagName(this.tagToken);
		if(!this.isHaveAttribute && !this.isHaveContent)
		{
			str += "/>\n";
		}else
		{
			if(this.isHaveAttribute)
			{
				Enumeration keys = attribute.keys();
				while(keys.hasMoreElements())
				{
					String attLabel = (String) keys.nextElement();
					str += " " + attLabel;
					str += "=";
					str += "\"" + attribute.get(attLabel) + "\" ";
				}
			}
			
			if(this.isHaveContent)
			{
				str += ">\n";
			}else
			{
				str += "/>\n";	
			}
			
			if(this.isHaveContent)
			{
				for(int i = 0 ; i < subTags.length ; i ++)
				{
					str += subTags[i].toString();
				}
				str += "</" + Token.getTagName(this.tagToken) + ">\n";
			}
		}
		
		return str;
	}
	
	String getTypeStr()
	{
		return this.type==TYPE_NORMAL?"Normal":"TEXT";
	}
	
	
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -