package和factory类帮助你访问模型的metadata,或者创建模型的实例。
通过package可以轻松的获得模型的EClass对象,如:
EClass purchaseOrderClass = epo2Package.getPurchaseORder();
EClass purchaseOrderClass =
(EClass)epo2Package.getEClassifier("PurchaseOrder");tip: EEnum是EDataType的子类
获得package对象的方法:
1.通过加载外部.ecore文件,从加载的Resource对象中获取,如:
ResourceSet resourceSet = new ResourceSetImpl();
URI fileURI = URI.createURI("
/ExtendedPO2.ecore");
Resource resource = resourceSet.getResource(fileURI, true);
EPackage epo2Package = (EPackage)resource.getContents().get(0);
<extension point="org.eclipse.emf.ecore.generated_package">
<package
uri = "http:///com/example/epo2.ecore"
class = "com.example.epo2.EPO2Package" />
</extension>
protected EPackageImpl(String packageURI, EFactory factory) {
super();
Registry.INSTANCE.put(packageURI, this);

}
EPackage.Registry.INSTANCE.getEPackage() 