1.JET生成java代码:
下列实例是一个模板,用于创建拥有任意数量属性的类。每个属性将有 getter 和 setter 与之关联,还有一些初始值。此外,所调用的函数的名称将输出到命令行,通过这种方式,模板即可为各函数添加简单的日志。
class <c:get select="/app/@class" /> {
<c:iterate select="/app/property" var="p" >
private <c:get select="$p/@type" /> <c:get select="$p/@name" />;
</c:iterate>
public <c:get select="/app/@class" />() {
<c:iterate select="/app/property" var="p" >
this.<c:get select="$p/@name" /> = <c:choose select="$p/@type" >
<c:when test="'String'">"<c:get select="$p/@initial" />"</c:when>
<c:otherwise><c:get select="$p/@initial" /></c:otherwise>
</c:choose>
;
</c:iterate>
}
<c:iterate select="/app/property" var="p" >
public void set<c:get select=\
"camelCase($p/@name)" />(<c:get select="$p/@type" />
<c:get select="$p/@name" />) {
System.out.println\
("In set<c:get select=\
"camelCase($p/@name)" />()");
this.<c:get select="$p/@name" /> = <c:get select="$p/@name" />;
}
public <c:get select=\
"$p/@type" /> get<c:get select="camelCase($p/@name)" />() {
System.out.println("In get<c:get select="camelCase($p/@name)" />()");
return <c:get select="$p/@name" />;
}
</c:iterate>
}
这里是该模板的输入模型实例:
<app class="Car">
<property name="model" type="String" initial="Honda Accord" />
<property name="horsepower" type="int" initial="140" />
<property name="spareTires" type="boolean" initial="true" />
</app>
这些输入参数生成如下类:
class Car {
private String model;
private int horsepower;
private boolean spareTires;
public Car() {
this.model = "Honda Accord";
this.horsepower = 140;
this.spareTires = true;
}
public void setModel(String model) {
System.out.println("In setModel()");
this.model = model;
}
public String getModel() {
System.out.println("In getModel()");
return model;
}
public void setHorsepower(int horsepower) {
System.out.println("In setHorsepower()");
this.horsepower = horsepower;
}
public int getHorsepower() {
System.out.println("In getHorsepower()");
return horsepower;
}
public void setSparetires(boolean spareTires) {
System.out.println("In setSparetires()");
this.spareTires = spareTires;
}
public boolean getSparetires() {
System.out.println("In getSparetires()");
return spareTires;
}
}
2.JET生成其他代码:
为强调 JET 不仅仅可用来生成代码,我们给出了下面这个实例,这是一个模板,生成具有不同语气的电子邮件消息。所生成的各电子邮件的目的是是向某人索要求各种东西。下面提供控制文件(main.jet)及其调用的模板(email.jet)。
main.jet
<c:iterate select="/app/email" var="currEmail" >
<ws:file template="templates/email.jet"
path="{$org.eclipse.jet.resource.project.name}/{$currEmail/@to}.txt" />
</c:iterate>
email.jet
<c:setVariable var="numItems" select="0" />
<c:iterate select="$currEmail/request" var="r">
<c:setVariable var="numItems" select="$numItems+1" />
</c:iterate>
<c:set select="$currEmail" name="numItems"><c:get select="$numItems" /></c:set>
<c:choose select="$currEmail/@mood" >
<c:when test="'happy'">My dear</c:when>
<c:when test="'neutral'">Dear</c:when>
<c:when test="'angry'">My enemy</c:when>
</c:choose> <c:get select="$currEmail/@to" />,
I am writing you <c:choose select="$currEmail/@mood" >
<c:when test="'happy'">in joy </c:when>
<c:when test="'neutral'"></c:when>
<c:when test="'angry'">in burning anger </c:when>
</c:choose>to ask for <c:choose select="$currEmail/@numItems" >
<c:when test="1">
a <c:get select="$currEmail/request/@item" />.
</c:when>
<c:otherwise>
the following:
<c:setVariable var="i" select="0" />
<c:iterate select="$currEmail/request" var="r">
<c:setVariable var="i" select="$i+1" />
<c:get select="$i" />. <c:get select="$r/@item" />
</c:iterate>
</c:otherwise>
</c:choose>
<c:choose select="$currEmail/@mood">
<c:when test="'happy'">Please</c:when>
<c:when test="'neutral'">Please</c:when>
<c:when test="'angry'">Either suffer my wrath, or</c:when>
</c:choose> send me <c:choose select="$currEmail/@numItems">
<c:when test="1">
this item</c:when>
<c:otherwise>
these items</c:otherwise>
</c:choose> <c:choose select="$currEmail/@mood" >
<c:when test="'happy'">at your earliest convenience.</c:when>
<c:when test="'neutral'">promptly.</c:when>
<c:when test="'angry'">immediately!</c:when>
</c:choose>
<c:choose select="$currEmail/@mood" >
<c:when test="'happy'">Your friend,</c:when>
<c:when test="'neutral'">Sincerely,</c:when>
<c:when test="'angry'">In rage,</c:when>
</c:choose>
<c:get select="/app/@from" />
该模板的输入模型实例如下:
sample.xml
<app from="Nathan" >
<email to="Chris" mood="angry" >
<request item="well-written article" />
</email>
<email to="Nick" mood="happy" >
<request item="Piano" />
<request item="Lollipop" />
<request item="Blank DVDs" />
</email>
</app>
将 mood
电子邮件蓝图应用于这些参数,生成下列两个文件。
分享到:
相关推荐
4. **实例应用**:通过具体的例子展示如何创建一个JET模板,以及这个模板如何根据输入数据生成相应的Java代码。这可能涉及到业务逻辑的建模,以及如何将这些逻辑转换为模板。 5. **最佳实践**:提供使用JET的一些...
它们是演示如何在网页中嵌入和使用Jet Menu的实例。通过查看这些文件,我们可以学习如何编写HTML结构来创建菜单,以及如何链接到对应的CSS和JavaScript文件。这些示例文件通常包含注释,解释了代码的工作原理,对...
这个“asp超简单分页例子”很可能是为了展示如何在ASP中进行基础的分页功能。 首先,我们需要了解分页的基本原理。分页主要是通过计算每一页显示的数据量,然后根据用户请求的页码来决定从数据库中取出哪一部分数据...
2. 通过注解实现声明式的方法缓存 3. 支持TTL和两级缓存 4. 通过注解创建并配置Cache实例 5. 针对所有Cache实例和方法缓存的自动统计 6. Key的生成策略和Value的序列化策略是可以配置的 7. 分布式缓存自动刷新 8. ...
本例"Access简单例子"显然旨在展示如何在DotNet环境下与Access数据库进行交互,实现数据的增删查改。 首先,让我们逐一解析提供的文件列表: 1. **App.config**:这是.NET应用程序的配置文件,通常包含连接字符串...
以下是一个简单的ASP连接Access数据库的实例: ```vbscript Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\your\db.mdb;...
压缩包子文件“Tri2jet”可能是TR-JET工具的安装包或者是一个转换实例。如果是安装包,用户需要按照指示进行安装,然后通过该工具进行TR到JET200的转换。如果是转换实例,那么它可能是一个已经完成转换的TR2程序,...
本例中的“简单的asp操作access例子源码”是一个针对初学者的教程,通过具体的代码实例,展示了如何使用ASP与Access数据库进行交互,完成数据的增、删、改、查(CRUD)操作。 在ASP中,我们通常使用ADO(ActiveX ...
2. 设置连接字符串,连接到Access数据库 3. 使用SQL语句执行数据库操作 4. 创建和使用ADODB.Recordset对象处理数据 5. 清理和释放资源以避免内存泄漏 通过不断实践和学习,你将能够熟练地在VB中操控Access数据库,...
1. **示例项目**:这些项目展示了如何使用Excelsior JET来编译和优化Java应用程序,可能包括简单的“Hello World”程序,以及更复杂的业务或计算逻辑。通过这些例子,开发者可以学习如何配置和调优编译过程。 2. **...
接下来,我们需要实例化JRO.JetEngine对象。以下是一个简单的易语言代码示例: ```e .数据库引擎 = 创建对象("JRO.JetEngine") ``` 一旦我们有了JetEngine对象,就可以开始进行数据库压缩了。关键在于调用`...
在本项目“MDB多表查询的简单例子”中,我们主要探讨的是如何使用易语言来实现对MDB(Microsoft Access数据库)中的多表进行查询的操作。 MDB文件是Microsoft Access数据库的默认文件格式,它包含了表格、查询、...
这个"ASP操作数据库简单实例"通过"caozuo.asp"文件,向初学者展示了如何用ASP连接Access数据库、执行SQL查询以及在网页上展示结果的基本流程。虽然标签中提到了"flash",但在这个实例中,Flash可能并未直接涉及,...
总之,通过学习这个简单的实例,你可以掌握在VB2005中连接和操作ACCESS数据库的基础知识,为构建数据驱动的应用程序打下坚实基础。这包括理解ADO.NET组件、编写SQL语句、处理数据及事务,并能通过实际代码加深理解。
JetCache中的注释支持本地TTL,两级缓存和分布式自动刷新,您也可以手动编写Cache实例。 当前有四个工具: RedisCache , TairCache (在github上不是开源的), CaffeineCache (在内存中),一个简单的...
在本文中,我们将深入探讨如何使用Visual C++ (VC) 和 ActiveX Data ...这个简单实例为数据库编程新手提供了一个清晰的起点,随着经验的增长,你可以进一步探索ADO的高级特性和功能,如事务处理、存储过程调用等。
在这个“简单的数据岛实例”中,我们很可能会学习如何创建和管理这些数据片段,以及如何利用Recordset对象在这些岛屿之间高效地移动和操作数据。理解并熟练掌握这些知识点对于构建高性能、低延迟的数据访问应用至关...
当前有四个实现,RedisCache、TairCache、CaffeineCache和一个简易的LinkedHashMapCache,要添加新的实现也是非常简单。它的特性: 通过统一的API访问Cache系统 通过注解实现声明式的方法缓存 通过注解创建并配置...
总的来说,这个“vb6.0操作Access简单例子”应该演示了如何在VB6环境中使用ADO对象来建立数据库连接、执行SQL语句以及处理记录集,对于初学者来说,是一个很好的学习起点。通过阅读和分析这些文件,可以深入了解VB6...
指示安装库: npm install --save vuetify-jet-validator 在组件的React式数据对象中,创建一个验证器实例,并将其作为数据属性返回: data ( ) { const validator = new VuetifyJetValidator ( ) ; return { ...