Free tutorials for Java, Eclipse and Web programming



Follow me on twitter

6. Using the model code

6.1. Overview

The generated model code is standard Java code and can be used as such. The following demonstrates how you create objects based on the generated code.

6.2. Example

Create a new plugin project "de.vogella.emf.webpage.usingmodel". Add the following dependency to your "plugin.xml".

  • org.eclipse.emf.ecore
  • de.vogella.emf.webpage.model

Create the following class.

				
package de.vogella.emf.webpage.usingmodel;

import de.vogella.emf.webpage.model.webpage.MyWeb;
import de.vogella.emf.webpage.model.webpage.Webpage;
import de.vogella.emf.webpage.model.webpage.WebpageFactory;
import de.vogella.emf.webpage.model.webpage.impl.WebpagePackageImpl;

public class UsingEMFModel {
	public static void main(String[] args) {
		WebpagePackageImpl.init();
		// Retrieve the default factory singleton
		WebpageFactory factory = WebpageFactory .eINSTANCE;
		// Create an instance of myWeb
		MyWeb myWeb = factory.createMyWeb();
		myWeb.setName("Hallo");
		myWeb.setDescription("This is a description");
		// Create a page
		Webpage webpage = factory.createWebpage();
		webpage.setTitle("This is a title");
		// Add the page to myWeb
		myWeb.getPages().add(webpage);
		// and so on, and so on
		// as you can see the EMF model can be (more or less) used as standard Java


	}
}

			

Tip

The *PackageImpl.init() method needs to be called before doing anything else as this method initializes the model and the listeners.