📄 entitymetadataparser.java
字号:
package com.cownew.PIS.framework.common.metaDataMgr;
import java.util.List;
import org.apache.commons.lang.enums.Enum;
import org.apache.commons.lang.enums.EnumUtils;
import org.dom4j.Document;
import org.dom4j.Node;
public class EntityMetaDataParser
{
public static EntityModelInfo xmlToBean(Document doc)
{
EntityModelInfo bean = new EntityModelInfo();
Node nameNode = doc.selectSingleNode("//EnityModel/Name");
if (nameNode != null)
{
bean.setName(nameNode.getText());
}
Node aliasNode = doc.selectSingleNode("//EnityModel/Alias");
if (aliasNode != null)
{
bean.setAlias(aliasNode.getText());
}
Node packageNameNode = doc.selectSingleNode("//EnityModel/PackageName");
if (packageNameNode != null)
{
bean.setPackageName(packageNameNode.getText());
}
Node dbTableNameNode = doc.selectSingleNode("//EnityModel/DbTableName");
if (dbTableNameNode != null)
{
bean.setTableName(dbTableNameNode.getText());
}
Node primaryKeyNode = doc.selectSingleNode("//EnityModel/PrimaryKey");
if (primaryKeyNode != null)
{
bean.setPrimaryKey(primaryKeyNode.getText());
}
List fieldNodes = doc.selectNodes("//EnityModel/FieldList/Field");
List fieldList = bean.getFields();
for (int i = 0, n = fieldNodes.size(); i < n; i++)
{
Node node = (Node) fieldNodes.get(i);
fieldList.add(fieldNodeToBean(node));
}
return bean;
}
private static EntityFieldModelInfo fieldNodeToBean(Node fieldNode)
{
EntityFieldModelInfo bean = new EntityFieldModelInfo();
Node nameNode = fieldNode.selectSingleNode("Name");
if (nameNode != null)
{
bean.setName(nameNode.getText());
}
Node aliasNode = fieldNode.selectSingleNode("Alias");
if (aliasNode != null)
{
bean.setAlias(aliasNode.getText());
}
Node dbFieldNameNode = fieldNode.selectSingleNode("DbFieldName");
if (dbFieldNameNode != null)
{
bean.setDbFieldName(dbFieldNameNode.getText());
}
Node lengthNode = fieldNode.selectSingleNode("Length");
if (lengthNode != null)
{
String lt = lengthNode.getText();
bean.setLength(Integer.parseInt(lt));
}
Node allowNullNode = fieldNode.selectSingleNode("AllowNull");
if (allowNullNode != null)
{
String text = allowNullNode.getText();
bean.setAllowNull(Boolean.valueOf(text).booleanValue());
}
Node fieldTypeNode = fieldNode.selectSingleNode("DataType");
if (fieldTypeNode != null)
{
String dataType = fieldTypeNode.getText();
if (dataType != null)
{
DataTypeEnum dataTypeEnum = (DataTypeEnum) EnumUtils.getEnum(
DataTypeEnum.class, dataType);
bean.setDataType(dataTypeEnum);
} else
{
bean.setDataType(DataTypeEnum.STRING);
}
}
Node isLinkPropNode = fieldNode.selectSingleNode("IsLinkProperty");
boolean isLinkProperty = false;
if (isLinkPropNode != null)
{
String textIsLinkProp = isLinkPropNode.getText();
isLinkProperty = Boolean.valueOf(textIsLinkProp).booleanValue();
bean.setLinkProperty(isLinkProperty);
}
if (isLinkProperty)
{
Node linkTypeNode = fieldNode.selectSingleNode("LinkType");
if (linkTypeNode != null)
{
String textLinkType = linkTypeNode.getText();
if (textLinkType != null)
{
Enum linkType = EnumUtils.getEnum(LinkTypeEnum.class,
textLinkType);
bean.setLinkType((LinkTypeEnum) linkType);
}
}
Node linkEntityNode = fieldNode.selectSingleNode("LinkEntity");
if (linkEntityNode != null)
{
bean.setLinkEntity(linkEntityNode.getText());
}
}
return bean;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -