📄 tag.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 + -