did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780131425422

Eclipse Modeling Framework

by ; ; ; ;
  • ISBN13:

    9780131425422

  • ISBN10:

    0131425420

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2004-01-01
  • Publisher: Addison-Wesley Professional
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99

Summary

- Shows how EMF unifies three important technologies: Java, XML, and UML - Provides a comprehensive overview of the EMF classes including a complete quick reference for all the classes and methods in the EMF 1.1 API - Includes examples of many common framework customizations and programming techniques

Author Biography

Frank Budinsky, leader of the Eclipse EMF project, is co-architect and an implementer of the EMF framework and code generator. He is an engineer in IBM's Software Group David Steinberg is a core member of the EMF development team in IBM's Software Group. Dave has contributed extensively to the design and implementation of both the runtime and code generator components of EMF Ed Merks is project leader and lead architect of the XSD technology project and a co-architect of the EMF tools project, both at Eclipse. Ed develops software at the IBM Toronto Laboratory Raymond Ellersick is an engineer in IBM's Software Group. A member of the EMF team, Ray is a key contributor to the design of EMF and was previously the development lead for IBM's earlier modeling framework from which much of EMF evolved Timothy J. Grose, a software engineer at the IBM Silicon Valley Laboratory, develops applications using XML and XMI technologies, including design and implementation of the default serialization support in EMF

Table of Contents

Forewordp. xv
Forewordp. xix
Prefacep. xxi
Conventions Used in This Bookp. xxii
Online Examplesp. xxvi
Acknowledgmentsp. xxvii
Referencesp. xxviii
EMF Overviewp. 1
Eclipsep. 3
The Projectsp. 4
The Eclipse Platformp. 5
More Informationp. 8
Introducing EMFp. 9
Unifying Java, XML, and UMLp. 10
Modeling vs. Programmingp. 13
Defining the Modelp. 14
Generating Codep. 21
The EMF Frameworkp. 27
EMF and Modeling Standardsp. 36
Model Editing with EMF.Editp. 39
Displaying and Editing EMF Modelsp. 39
Item Providersp. 44
Command Frameworkp. 52
Generating EMF.Edit Codep. 61
Using EMF--A Simple Overviewp. 65
Example Model: The Primer Purchase Orderp. 66
Creating EMF Models and Projectsp. 67
Generating Codep. 85
Running the Applicationp. 88
Continuing Developmentp. 90
Defining EMF Modelsp. 93
Ecore Modeling Conceptsp. 95
Core Model Usesp. 96
The Ecore Kernelp. 97
Structural Featuresp. 98
Behavioral Featuresp. 104
Classifiersp. 105
Packages and Factoriesp. 109
Annotationsp. 111
Modeled Data Typesp. 112
Java Source Codep. 115
Java Specification for Packagesp. 116
Java Specification for Classesp. 117
Java Specification for Enumerationsp. 123
Java Specification for Data Typesp. 124
Java Specification for Mapsp. 126
XML Schemap. 129
Schema Definition of Packagesp. 130
Schema Definition of Classesp. 132
Schema Definition of Attributesp. 134
Schema Definition of Referencesp. 137
Schema Simple Typesp. 139
UMLp. 143
UML Packagesp. 144
UML Specification for Classifiersp. 145
UML Specification for Attributesp. 148
UML Specification for Referencesp. 151
UML Specification for Operationsp. 156
Using the EMF Generatorp. 159
EMF Generator Patternsp. 161
Modeled Classesp. 162
Attributesp. 165
Referencesp. 177
Operationsp. 191
Class Inheritancep. 192
Reflective Methodsp. 196
Factories and Packagesp. 204
Switch Classes and Adapter Factoriesp. 207
Customizing Generated Classesp. 210
EMF.Edit Generator Patternsp. 213
Item Providersp. 214
Item Provider Adapter Factoriesp. 229
Editorp. 233
Action Bar Contributorp. 236
Wizardp. 237
Plug-Insp. 238
Running the Generatorsp. 241
EMF Code Generationp. 241
The Generator GUIp. 245
The Command-Line Generator Toolsp. 255
The Template Formatp. 260
Example--Implementing a Model and Editorp. 265
Getting Startedp. 265
Generating the Modelp. 268
Implementing Volatile Featuresp. 268
Implementing Data Typesp. 270
Running the ExtendedPO2 Editorp. 273
Restricting Reference Targetsp. 275
Splitting the Model into Multiple Packagesp. 277
Editing Multiple Resources Concurrentlyp. 284
Programming with EMFp. 291
EMF Client Programmingp. 293
Packages and Factoriesp. 294
The EMF Persistence APIp. 299
EMF Resource Implementationsp. 309
Adaptersp. 324
Working with EMF Objectsp. 336
Dynamic EMFp. 343
EMF.Edit Programmingp. 351
Overriding Commandsp. 351
Customizing Viewsp. 357
EMF APIp. 379
The org.eclipse.emf.common Plug-Inp. 381
The org.eclipse.emf.common Packagep. 381
The org.eclipse.emf.common.command Packagep. 385
The org.eclipse.emf.common.notify Packagep. 395
The org.eclipse.emf.common.util Packagep. 401
The org.eclipse.emf.common.ui Plug-Inp. 431
The org.eclipse.emf.common.ui Packagep. 431
The org.eclipse.emf.common.ui.celleditor Packagep. 435
The org.eclipse.emf.common.ui.viewer Packagep. 440
The org.eclipse.emf.ecore Plug-Inp. 443
The org.eclipse.emf.ecore Packagep. 444
The org.eclipse.emf.ecore.plugin Packagep. 468
The org.eclipse.emf.ecore.resource Packagep. 470
The org.eclipse.emf.ecore.util Packagep. 478
The org.eclipse.emf.ecore.xmi Plug-Inp. 525
The org.eclipse.emf.ecore.xmi Packagep. 526
EMF.Edit APIp. 539
The org.eclipse.emf.edit Plug-Inp. 541
The org.eclipse.emf.edit Packagep. 541
The org.eclipse.emf.edit.command Packagep. 543
The org.eclipse.emf.edit.domain Packagep. 570
The org.eclipse.emf.edit.provider Packagep. 575
The org.eclipse.emf.edit.provider.resource Packagep. 605
The org.eclipse.emf.edit.tree Packagep. 609
The org.eclipse.emf.edit.tree.provider Packagep. 611
The org.eclipse.emf.edit.tree.util Packagep. 613
The org.eclipse.emf.edit.ui Plug-Inp. 617
The org.eclipse.emf.edit.ui Packagep. 617
The org.eclipse.emf.edit.ui.action Packagep. 619
The org.eclipse.emf.edit.ui.celleditor Packagep. 628
The org.eclipse.emf.edit.ui.dnd Packagep. 632
The org.eclipse.emf.edit.ui.provider Packagep. 636
UML Notationp. 645
Classes and Interfacesp. 645
Enumerations and Data Typesp. 646
Class Relationshipsp. 647
Summary of Example Modelsp. 651
SimplePOp. 651
PrimerPOp. 654
ExtendedPO1p. 659
ExtendedPO2p. 660
ExtendedPO3p. 661
Indexp. 663
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

Preface This book is a comprehensive introduction to and developer's quick reference for the Eclipse Modeling Framework (EMF). EMF is a powerful framework and code-generation facility for building Java applications based on simple model definitions. Designed to make modeling practical and useful to the mainstream Java programmer, EMF unifies three important technologies: Java, XML, and UML. Models can be defined using a UML modeling tool, an XML Schema, or by specifying simple annotations on Java interfaces, whereby programmers write the abstract interfaces (a small subset of what they would normally need to write), and the rest is generated automatically and merged back into their existing code. By relating modeling concepts to the simple Java representations of those concepts, EMF has successfully bridged the gap between modelers and Java programmers. It serves as a gentle introduction to modeling for Java programmers and at the same time as a reinforcement of the modeler's theory that plenty of Java coding can be automated, given an appropriate tool. This book shows how EMF is such a tool. At the same time, it also shows how using EMF gives you much more than just automatic code generation. While Eclipse provides a powerful platform for integration at the UI and file level, EMF builds on this capability to enable applications to integrate at a much finer granularity than would otherwise be possible. EMF-based modeling is the foundation for fine-grained interoperability and data sharing among tools and applications in Eclipse. All of the features provided by the EMF framework, combined with an intrinsic property of modeling--that it provides a higher-level description that can more easily be shared--provide the needed ingredients to foster such data integration. A number of companies are already using both Eclipse and the EMF modeling technology as the foundation for commercial products. IBM's WebSphere Studio, for example, is completely based on Eclipse, and most of its tools use EMF to model their data. This book assumes the reader is familiar with object-oriented programming concepts, and specifically with the Java programming language. Previous exposure to modeling techniques such as UML class diagrams, although helpful, is not required. Part I (Chapters 1 to 4) provides a basic overview of the most important concepts in EMF and modeling. This part teaches someone with basic Java programming skills everything needed to start using EMF to model and build an application. Part II (Chapters 5 to 8) presents a thorough overview of EMF's metamodel, Ecore, followed by details of the mappings between Ecore and the other supported model-definition forms: annotated Java, XML Schema, and UML. Part III (Chapters 9 to 12) includes detailed analyses of EMF's code-generator patterns and tools, followed by an end-to-end example of a non-trivial EMF application. Part IV (Chapters 13 and 14) provides a more in-depth analysis of the EMF and EMF.Edit frameworks, including discussions of design alternatives and examples of common framework customizations and programming techniques. Part V (Chapters 15 to 18) and Part VI (Chapters 19 and 20) finish off the book with a complete API quick reference for all of the classes and methods in the 1.1 versions of the core EMF and EMF.Edit frameworks.

Rewards Program