Apache项目Research之Graffito

Apache Graffito是一个用于建立一个基于应用程序目录的开源的框架。它提供的功能包括版本控制,协作编辑,发布工作流,序列,查询等等。并且支持多种文档类型如:XMLHTMLPDF MS OFFICEOPEN Office, RDF等等。它是对于JCR API的一种扩展,或者说是加强了” business logic”,使得访问JCR Node和该Nodeproperty更加附和真正的商业对象(POJO)的需要。这里我要介绍的是它提供的一个独立的JCR Object/Content 映射框架。

让我们看一下他的一个实现方式吧:
他的
O/C Mapping有两种实现方式,一种就是使用Xml描述文件,另一种就是使用Annotation。使用Annotaion这里就不多说了。这里具体看一下多版本的“一对多”的Xml下的实现方式。

xml 代码
  1. <class-descriptor className="com.impl.MappingObject1" jcrMixinTypes="mix:versionable">
  2. <collection-descriptor fieldName="list" jcrName="list" elementClassName="com.impl.MappingObject2"/>
  3. class-descriptor>
  4. <class-descriptor className="com.impl.MappingObject2">
  5. class-descriptor>

就这样的简单的描述文件的配置我们就可以实现,对象到内容的映射关系了。全部的映射对象都会以节点的形式被存入JCR 库中,而List内的MappingObject2对象会以MappingObject1的子节点的方式存入。当查询时我们也可以直接通过Query来找到相关条件的MappingObject2

<o:p> </o:p>虽然该项目目前还没有Release版本,但基础Mapping关系已经完成,可以通过SVN来获得源码,自行打包即可。至少我已经把它JCR O/C mapping的功能用在了实际项目中了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值