【发布时间】:2014-10-17 15:29:28
【问题描述】:
我正在使用定义到 *.mtl 文件中的不同 Acceleo 模板生成一些文件。
在这些文件的顶部,我需要编写如下内容:
#-----------------------------------------------------------------------------
# Project automatically generated by XXX at (add timestamp here)
#-----------------------------------------------------------------------------
如何在每次生成文件时动态生成此时间戳?
谢谢!
编辑:我解决了这个问题,如下所述。
在 module 声明之后,添加 query 声明:
[module generate('platform:/resource/qt48_model/qt48_xmlschema.xsd') ]
[comment get timestamp/]
[query public getCurrentTime(c : OclAny) : String =
invoke('org.eclipse.acceleo.qt_test_api.generator.common.GenerationSupport', 'getCurrentTime()', Sequence{}) /]
然后,创建一个名为GenerationSupport 的类并添加一个名为getCurrentTime() 的方法:
package org.eclipse.acceleo.qt_test_api.generator.common;
import java.sql.Timestamp;
public class GenerationSupport {
public String getCurrentTime(){
java.util.Date date = new java.util.Date();
Timestamp ts = new Timestamp(date.getTime());
return ts.toString();
}}
【问题讨论】: