资源持久化API(一)
EMF在模型的持久化这块,做的相当好,无论是否使用EMF模型,都应该对此持久化框架有所了解。
?
EMF的持久化架构中有4个核心接口:Resource,ResourceSet,Resource.Factory,URIConverter。要使用它们,必须依赖org.eclipse.emf.ecore插件。
?
1.URI和URIConverter:
?
在了解核心接口之前,必须先了解URI。URI是用于唯一标示资源的位置的一种方案,org.eclipse.emf.common.util.URI是EMF对URI的一个实现。
一个完整的URI的结果分为三个部分:(1):(2)#(3)。第一部分称为协议:它的作用是描述第二,三部分的解析规则。在eclipse中,使用platform来存取在workspace中的resource,platform也可以用来存储外部插件的资源。第二部分是路径,第三部分是目标文件中的某一个特定的段。片段可以使EMF直接定位到文件中的某个特定模型。
URI实例创建:具体的可以直接查看URI类的API
?
?
??
?
3.Resource.Factory资源工厂:
?
Resource.Factory是一个资源工厂接口,所以扩展资源创建的工厂类,都必须实现此接口。Resource.Factory接口嵌套在Resource接口中,在Resource.Factory接口中有一个Registry接口。Registry是一个注册接口,所有的创建资源工厂都注册到这个接口中。当要创建资源的时候,EMF会找到Resource接口的Resource.Factory接口,然后Resource.Factory接口会在Registry接口中找具体的实现工厂。
?
?