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

📄 entitymetadataparser.java

📁 《j2ee开发全程实录》随书源码
💻 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 + -