📄 buildsmillabel.java
字号:
package com.talkweb.micp.icsp.parse;
import org.kxml.kdom.Element;
import org.kxml.Attribute;
import java.util.Vector;
import com.talkweb.micp.twsmil.*;
/**
* BuildSmilLabel.java
* <p>标题: 建立SMIL标签对象</p>
* <p>描述: 根据SMIL标签元素建立标签对象并设置其相关的属性值</p>
* <p>版权: Copyright (c) 2006</p>
* <p>公司: 湖南拓维信息系统股份有限公司</p>
* 作者: 郭勇华
* 版本: 1.0
*/
public class BuildSmilLabel {
/**
* 得到其相关的SMIL标签对象
* @param smilElement Element SMIL文档元素
* @return Object smil标签对象
*/
public static Object getSmilLabel(Element smilElement){
String smilLabel = smilElement.getName();
if (smilLabel.equals("img")){
return setImgLabel(smilElement) ;
}
else if(smilLabel.equals("audio")){
return setAudioLabel(smilElement);
}
else if(smilLabel.equals("meta")){
//return setRootLayoutLabel(smilElement);
}
else if(smilLabel.equals("root-layout")){
return setRootLayoutLabel(smilElement);
}
else if(smilLabel.equals("region")){
return setRegionLabel(smilElement);
}
return null ;
}
/**
* 设置IMG标签的属性值并放回其对象
* @param smilElement Element SMIL文档元素
* @return ImgLabel 返回IMG标签对象
*/
private static ImgLabel setImgLabel(Element smilElement){
ImgLabel label = new ImgLabel();
label.setId(smilElement.hashCode());
Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合
for (int j=0 ; j<vecAttr.size(); j++){
Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
if (aEle.getName().equals("name")){
label.setName(aEle.getValue());
}
else if (aEle.getName().equals("src")){
label.setSrc(aEle.getValue());
}
else if (aEle.getName().equals("end")){
label.setEnd(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("begin")){
label.setBegin(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("region")){
label.setRegion(aEle.getValue());
}
else if (aEle.getName().equals("dur")){
label.setDur(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("repeatcount")){
label.setRepeatCount(Short.parseShort(aEle.getValue()));
}
else if (aEle.getName().equals("repeatdur")){
label.setRepeatDur(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("fill")){
label.setFill(aEle.getValue());
}
}
return label ;
}
/**
* 设置AUDIO标签的属性值并放回其对象
* @param smilElement Element SMIL文档元素
* @return AudioLabel 返回AUDIO标签对象
*/
private static AudioLabel setAudioLabel(Element smilElement){
AudioLabel label = new AudioLabel();
label.setId(smilElement.hashCode());
Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合
for (int j=0 ; j<vecAttr.size(); j++){
Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
if (aEle.getName().equals("name")){
label.setName(aEle.getValue());
}
else if (aEle.getName().equals("src")){
label.setSrc(aEle.getValue());
}
else if (aEle.getName().equals("end")){
label.setEnd(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("begin")){
label.setBegin(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("region")){
label.setRegion(aEle.getValue());
}
else if (aEle.getName().equals("dur")){
label.setDur(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("repeatcount")){
label.setRepeatCount(Short.parseShort(aEle.getValue()));
}
else if (aEle.getName().equals("repeatdur")){
label.setRepeatDur(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("fill")){
label.setFill(aEle.getValue());
}
}
return label ;
}
/**
* 设置Region标签的属性值并放回其对象
* @param smilElement Element SMIL文档元素
* @return RegionLabel 返回Region标签对象
*/
private static RegionLabel setRegionLabel(Element smilElement){
RegionLabel label = new RegionLabel();
label.setId(smilElement.hashCode());
Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合
for (int j=0 ; j<vecAttr.size(); j++){
Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
if (aEle.getName().equals("id")){
label.setLabelId(aEle.getValue());
}
else if (aEle.getName().equals("z-index")){
label.setZIndex(Short.parseShort(aEle.getValue()));
}
else if (aEle.getName().equals("left")){
label.setLeft(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("height")){
label.setHeight(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("title")){
label.setTitle(aEle.getValue());
}
else if (aEle.getName().equals("top")){
label.setTop(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("width")){
label.setWidth(Short.parseShort(aEle.getValue()));
}
else if (aEle.getName().equals("backgroundColor")){
label.setBackgroundColor(aEle.getValue());
}
}
return label ;
}
/**
* 设置RootLayout标签的属性值并放回其对象
* @param smilElement Element SMIL文档元素
* @return RootLayoutLabel 返回RootLayout标签对象
*/
private static RootLayoutLabel setRootLayoutLabel(Element smilElement){
RootLayoutLabel label = new RootLayoutLabel();
label.setId(smilElement.hashCode());
Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合
for (int j=0 ; j<vecAttr.size(); j++){
Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
if (aEle.getName().equals("backgroundColor")){
label.setBackgroundColor(aEle.getValue());
}
else if (aEle.getName().equals("height")){
label.setHeight(Integer.parseInt(aEle.getValue()));
}
else if (aEle.getName().equals("width")){
label.setWidth(Short.parseShort(aEle.getValue()));
}
}
return label;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -