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

最低0.47元/天 解锁文章
923

被折叠的 条评论
为什么被折叠?



