普元EOS-自定义SDO代码生成模板

1 前言

普元EOS的数据实体生成SDO接口和实现类的代码,可以通过自定义代码生成模板,实现代码自定义。

2 模板存放位置

模板存放位置如下:安装目录/dropins/eostools/com.primeton.studio.entity.ui-x.x.x.x.jar里面,SDO模版都在/templates/sdo下。

找到这个jar文件,用winrar打开,注意:不要解压缩到文件夹,只要打开即可。

打开后,找到模板文件夹。

然后将这个文件夹拖拽到本地硬盘上,编辑其中的模板文件,然后再拖拽回去。

最后关闭winrar。这样就完成了jar文件中的模板文件的编辑。

3 删除实现类中大量的注释

在SDO实现类中有大量的注释,看起来很乱,可以修改模板文件 SdoCode.vm 文件,来删除无用的注释。

3.1 编辑覆盖SdoCode.vm 

编辑SdoCode.vm文件,编辑完毕后,拖拽进 winrar 窗口,覆盖jar中对应的文件。

编辑后的SdoCode 内容如下:

#parse("templates/JavaHeader.vm" )
package $javaInfo.getPackageName();

#set($tempImport="")
#foreach($importType in $javaInfo.getImportTypes())
#if( $importType && !$tempImport.contains($importType))
import $importType;
#set($tempImport="$tempImport,$importType")
#else

#end
#end

/**
 * A representation of the model object '<em><b>$javaInfo.getJavaName()</b></em>'.
 */

public class $javaInfo.getJavaName() #if(${javaInfo.getExtendClassInterfaceName()})extends ${javaInfo.getExtendClassInterfaceName()} #end#if(${javaInfo.getImplementInterfaceName()})implements ${javaInfo.getImplementInterfaceName()} #end{
	/**
	 * Comment for <code>serialVersionUID</code>
	 */
	private static final long serialVersionUID = 1L;

#foreach($fieldInfo in $javaInfo.getFieldInfos())
#set ( $index = $velocityCount - 1 )
	public final static int INDEX_$fieldInfo.getFieldName().toUpperCase() = $index;
#end
	public static final int SDO_PROPERTY_COUNT = $javaInfo.getFieldInfos().size();

	public static final int EXTENDED_PROPERTY_COUNT = -1;
##

#parse( "templates/sdo/SdoConstructor.vm" )


	protected void validate() {
		validateType(TYPE);
	}

#parse( "templates/JavaGetSetMethod.vm" )

}

注意:拖拽覆盖前,一定要将EOS IDE关闭,否则该jar文件比占用,是无法被覆盖修改的。

3.2 编辑覆盖 JavaGetSetMethod.vm 

编辑后的文件内容如下:

## get, set ·½·¨
#foreach($fieldInfo in $javaInfo.getFieldInfos())

	public $fieldInfo.getShortTypeName() get${fieldInfo.getCapFieldName()}() {
		return $fieldInfo.getGetMethodString();
	}


	public void set${fieldInfo.getCapFieldName()}($fieldInfo.getShortTypeName() $fieldInfo.getFieldName()) {
		$fieldInfo.getSetMethodString();
	}

#end

3.3 最终效果

原SDO实现类文件如下:

/*******************************************************************************
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved.
 *
 * Created on Apr 11, 2008
 *******************************************************************************/
package com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl;

import com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.TProject;
import com.primeton.ext.data.sdo.DataUtil;
import com.primeton.ext.data.sdo.ExtendedDataObjectImpl;
import commonj.sdo.Type;
import java.util.Date;

/**
 * <!-- begin-user-doc2 -->
 * A representation of the model object '<em><b>TProjectImpl</b></em>'.
 * <!-- end-user-doc2 -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getId <em>Id</em> <desc></desc>}</li>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getProjectCode <em>ProjectCode</em> <desc>项目Code</desc>}</li>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getProjectName <em>ProjectName</em> <desc>项目名称</desc>}</li>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getProjectType <em>ProjectType</em> <desc>项目类型</desc>}</li>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getProjectTemplateId <em>ProjectTemplateId</em> <desc>项目模板Id</desc>}</li>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getCreateTime <em>CreateTime</em> <desc>新增时间</desc>}</li>
 *   <li>{@link com.primeton.eos.KgptDemo.model.kgptdemo.ProjectDataset.impl.TProjectImpl#getCreateUser <em>CreateUser</em> <desc>新增用户</desc>}</li>
 *   <li>{@l
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值