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

📄 hibernateentitymodelcodegenerator.java

📁 基于eclipse的工具开发代码
💻 JAVA
字号:
package com.cownew.studio.modelDev.codeGen.hib;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.JavaModelException;

import com.cownew.studio.modelDev.codeGen.AbstractEntityModelCodeGenerator;
import com.cownew.studio.modelDev.codeGen.CodeGenException;
import com.cownew.studio.modelDev.common.CommonUtils;
import com.cownew.studio.modelDev.common.EntityModelBean;

public class HibernateEntityModelCodeGenerator extends
		AbstractEntityModelCodeGenerator
{

	@Override
	protected void generateConfigFile(EntityModelBean bean)
			throws CodeGenException
	{
		IProgressMonitor monitor = new NullProgressMonitor();

		CodeGenArgInfo argInfo = new CodeGenArgInfo();
		argInfo.setModelBean(bean);
		argInfo.setProject(getTargetFolder().getJavaProject().getProject());
		argInfo.setNameStrategy(new DefaultNameStrategy());
		HibernateEMFConfigGenerator generator = new HibernateEMFConfigGenerator();
		String code = generator.generate(argInfo);
		try
		{
			IPackageFragment pck = getTargetFolder().createPackageFragment(
					bean.getPackageName(), true, monitor);
			IFolder folder = CommonUtils.packageFragementToFolder(pck);
			String configFileName = argInfo.getNameStrategy()
					.entityNameToOVName(bean.getName())
					+ ".hbm.xml";
			final IFile file = folder.getFile(new Path(configFileName));
			if (isOverrieExistsFile() == false && file.exists())
			{
				return;
			}
			CommonUtils.saveToFile(file, code, monitor);
		} catch (JavaModelException e)
		{
			throw CodeGenException.toCodeGenException(e);
		} catch (CoreException e)
		{
			throw CodeGenException.toCodeGenException(e);
		}
	}

	@Override
	protected void generateSrcCode(EntityModelBean bean)
			throws CodeGenException
	{
		IProgressMonitor monitor = new NullProgressMonitor();

		CodeGenArgInfo argInfo = new CodeGenArgInfo();
		argInfo.setModelBean(bean);
		argInfo.setProject(getTargetFolder().getJavaProject().getProject());
		argInfo.setNameStrategy(new DefaultNameStrategy());
		HibernateEMFSrcCodeGenerator generator = new HibernateEMFSrcCodeGenerator();
		String code = generator.generate(argInfo);
		try
		{
			IPackageFragment pck = getTargetFolder().createPackageFragment(
					bean.getPackageName(), true, monitor);
			String objectValueName = argInfo.getNameStrategy()
					.entityNameToOVName(bean.getName())
					+ ".java";
			IFolder folder = CommonUtils.packageFragementToFolder(pck);
			final IFile file = folder.getFile(new Path(objectValueName));
			if (isOverrieExistsFile() == false && file.exists())
			{
				return;
			}
			pck.createCompilationUnit(objectValueName, code, true, monitor);

		} catch (JavaModelException e)
		{
			throw CodeGenException.toCodeGenException(e);
		}
	}

}

⌨️ 快捷键说明

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