Eclipse Modeling Framework

Frank Budinsky, Dave Steinberg, Ed Merks, Ray Ellersick, Timothy J. Grose

  • 出版商: Addison Wesley
  • 出版日期: 2003-08-21
  • 售價: $1,880
  • 貴賓價: 9.5$1,786
  • 語言: 英文
  • 頁數: 720
  • 裝訂: Paperback
  • ISBN: 0131425420
  • ISBN-13: 9780131425422
  • 相關分類: Java 相關技術
  • 已絕版




eclipse Modeling Framework

The authoritative guide to EMF modeling and code generation
The Eclipse Modeling Framework unifies Java™, XML, and UML-enabling developers to rapidly construct robust applications based on surprisingly simple models. In this book, leading EMF implementers illuminate every facet of using EMF for both modeling and code generation. Discover how EMF makes modeling easy and practical enough for virtually any Java project-and why EMF modeling provides a solid foundation for fine-grained interoperability and data sharing across multiple tools and applications.

Coverage includes:
• Essentials of EMF and modeling for any Java programmer-regardless of experience
• Defining EMF via UML tools, XML schema, annotated Java interfaces, and the Ecore metamodel
• Generating Java code with EMF: clear explanations, step-by-step instructions
• Expert analyses of key framework classes, generator patterns, and design alternatives
• Practical examples of framework customizations and programming techniques
• Quick reference to all EMF 1.1 API classes and methods

More than 3,000,000 developers downloaded the open source Eclipse platform in its first year. Now there’s a definitive guide to using Eclipse’s breakthrough modeling tools-for Java developers, XML programmers, and experienced object modelers alike.

Table of Contents

Foreword by Sridhar Iyengar.

Foreword by Dr. Lee R. Nackman.




1. Eclipse.


The Projects. The Eclipse Platform. More Information.

2. Introducing EMF.


Unifying Java, XML, and UML. Modeling vs Programming. Defining the Model. Generating Code. The EMF Framework. EMF and Modeling Standards.

3. Model Editing with EMF.Edit.


Displaying and Editing EMF Models. Item Providers. Command Framework. Generating EMF.Edit Code.

4. Using EMF—A Simple Overview.


Example Model: The Primer Purchase Order. Creating EMF Models and Projects. Generating Code. Running the Application. Continuing Development.


5. Ecore Modeling Concepts.


Core Model Uses. The Ecore Kernel. Structural Features. Behavioral Features. Classifiers. Packages and Factories. Annotations. Modeled Data Types.

6. Java Source Code.


Java Specification for Packages. Java Specification for Classes. Java Specification for Enumerations. Java Specification for Data Types. Java Specification for Maps.

7. XML Schema.


Schema Definition of Packages. Schema Definition of Classes. Schema Definition of Attributes. Schema Definition of References. Schema Simple Types.

8. UML.


UML Packages. UML Specification for Classifiers. UML Specification for Attributes. UML Specification for References. UML Specification for Operations.


9. EMF Generator Patterns.


Modeled Classes. Attributes. References. Operations. Class Inheritance. Reflective Methods. Factories and Packages. Switch Classes and Adapter Factories. Customizing Generated Classes.

10. EMF.Edit Generator Patterns.


Item Providers. Item Provider Adapter Factories. Editor. Action Bar Contributor. Wizard. Plug-Ins.

11. Running the Generators.


EMF Code Generation. The Generator GUI. The Command-Line Generator Tools. The Template Format.

12. Example—Implementing a Model and Editor.


Getting Started. Generating the Model. Implementing Volatile Features. Implementing Data Types. Running the ExtendedPO2 Editor. Restricting Reference Targets. Splitting the Model into Multiple Packages. Editing Multiple Resources Concurrently.


13. EMF Client Programming.


Packages and Factories. The EMF Persistence API. EMF Resource Implementations. Adapters. Working with EMF Objects. Dynamic EMF.

14. EMF.Edit Programming.


Overriding Commands. Customizing Views.


15. The org.eclipse.emf.common Plug-In.


The org.eclipse.emf.common Package. The org.eclipse.emf.common.command Package. The org.eclipse.emf.common.notify Package. The org.eclipse.emf.common.util Package.

16. The org.eclipse.emf.common.ui Plug-In.


The org.eclipse.emf.common.ui Package. The org.eclipse.emf.common.ui.celleditor Package. The org.eclipse.emf.common.ui.viewer Package.

17. The org.eclipse.emf.ecore Plug-In.


The org.eclipse.emf.ecore Package. The org.eclipse.emf.ecore.plugin Package. The org.eclipse.emf.ecore.resource Package. The org.eclipse.emf.ecore.util Package.

18. The org.eclipse.emf.ecore.xmi Plug-In.


The org.eclipse.emf.ecore.xmi Package.


19. The org.eclipse.emf.edit Plug-In.


The org.eclipse.emf.edit Package. The org.eclipse.emf.edit.command Package. The org.eclipse.emf.edit.domain Package. The org.eclipse.emf.edit.provider Package. The org.eclipse.emf.edit.provider.resource Package. The org.eclipse.emf.edit.tree Package. The org.eclipse.emf.edit.tree.provider Package. The org.eclipse.emf.edit.tree.util Package.

20. The org.eclipse.emf.edit.ui Plug-In.


The org.eclipse.emf.edit.ui Package. The org.eclipse.emf.edit.ui.action Package. The org.eclipse.emf.edit.ui.celleditor Package. The org.eclipse.emf.edit.ui.dnd Package. The org.eclipse.emf.edit.ui.provider Package.

Appendix A: UML Notation.


Classes and Interfaces. Enumerations and Data Types. Class Relationships.

Appendix B: Summary of Example Models.


SimplePO. PrimerPO. ExtendedPO1. ExtendedPO2. ExtendedPO3.