See: Description
Package | Description |
---|---|
fr.inria.atlanmod.neoemf |
The base package of all NeoEMF features.
|
fr.inria.atlanmod.neoemf.bind |
Provides classes related to the binding engine and classpath analysis.
|
fr.inria.atlanmod.neoemf.config |
Provides utility classes to provide modeling and persistence-level configuration.
|
fr.inria.atlanmod.neoemf.core |
Provides the base classes that extends EMF API to enable lazy-loading of model elements.
|
fr.inria.atlanmod.neoemf.core.internal |
Provides helper classes for the base classes, such as lazy collections.
|
fr.inria.atlanmod.neoemf.core.internal.collect |
Provides on-demand collections and iterators related to
EObject s content. |
fr.inria.atlanmod.neoemf.data |
Provides generic classes representing data management operations.
|
fr.inria.atlanmod.neoemf.data.bean |
Provides simple representations of objects used to translate model-level operations in persistence calls.
|
fr.inria.atlanmod.neoemf.data.bean.serializer |
Provides classes related to bean serialization.
|
fr.inria.atlanmod.neoemf.data.mapping |
Provides interfaces for data mapping.
|
fr.inria.atlanmod.neoemf.data.store |
Provides classes that adds preprocessing and postprocessing functionalities during persistence operations.
|
fr.inria.atlanmod.neoemf.data.store.adapter |
Provides classes to map model-level operations into persistence-level operations.
|
fr.inria.atlanmod.neoemf.data.store.listener |
Provides objects able to listen database calls.
|
fr.inria.atlanmod.neoemf.resource |
Provides classes extending EMF resource management to support lazy-loading and database delegation.
|
fr.inria.atlanmod.neoemf.resource.internal |
Provides helper classes for base classes related to
Resource s. |
fr.inria.atlanmod.neoemf.util |
Provides miscellaneous utility classes, such as
URI s management or models
comparison. |
fr.inria.atlanmod.neoemf.util.compare |
Provides EMF Compare specific implementation classes that allow model comparison involving
PersistentEObject s. |
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.io |
Provides methods and classes for working with I/O and security.
|
fr.inria.atlanmod.neoemf.io.listener |
Provides objects able to listen an I/O process.
|
fr.inria.atlanmod.neoemf.io.processor |
Provides classes that adds preprocessing and postprocessing functionalities during an I/O process.
|
fr.inria.atlanmod.neoemf.io.proxy |
Provides simple representations of objects used during import/export.
|
fr.inria.atlanmod.neoemf.io.reader |
Provides classes related to data reading.
|
fr.inria.atlanmod.neoemf.io.util |
Provides utility classes to ease reading and writing of files.
|
fr.inria.atlanmod.neoemf.io.writer |
Provides classes related to data writing.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.im |
Provides classes related to data management specific to the default in-memory implementation.
|
fr.inria.atlanmod.neoemf.data.im.config |
Provides configuration classes to define specific behaviors of the default in-memory database.
|
fr.inria.atlanmod.neoemf.data.im.util |
Provides utility classes related to the default in-memory database.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.blueprints |
Provides classes related to data management specific to a Blueprints implementation.
|
fr.inria.atlanmod.neoemf.data.blueprints.config |
Provides configuration classes to define specific behaviors of Blueprints data persistence.
|
fr.inria.atlanmod.neoemf.data.blueprints.internal.graph |
Provides the dedicated graph structure for storing an EMF model.
|
fr.inria.atlanmod.neoemf.data.blueprints.internal.graph.wrapper |
Provides dynamic re-implementations of the Id-based structure of Blueprints.
|
fr.inria.atlanmod.neoemf.data.blueprints.util |
Provides utility classes related to Blueprints.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.blueprints.neo4j |
Provides classes related to data management specific to a Neo4j implementation, under Blueprints.
|
fr.inria.atlanmod.neoemf.data.blueprints.neo4j.config |
Provides configuration classes to define specific behaviors of Neo4j data persistence.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.mapdb |
Provides classes related to data management specific to a MapDB implementation.
|
fr.inria.atlanmod.neoemf.data.mapdb.config |
Provides configuration classes to define specific behaviors of MapDB data persistence.
|
fr.inria.atlanmod.neoemf.data.mapdb.util |
Provides utility classes related to MapDB.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.berkeleydb |
Provides classes related to data management specific to a BerkeleyDB implementation.
|
fr.inria.atlanmod.neoemf.data.berkeleydb.config |
Provides configuration classes to define specific behaviors of BerkeleyDB data persistence.
|
fr.inria.atlanmod.neoemf.data.berkeleydb.util |
Provides utility classes related to BerkeleyDB.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.hbase |
Provides classes related to data management specific to a HBase implementation.
|
fr.inria.atlanmod.neoemf.data.hbase.config |
Provides configuration classes to define specific behaviors of HBase data persistence.
|
fr.inria.atlanmod.neoemf.data.hbase.util |
Provides utility classes related to HBase.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.mongodb |
Provides classes related to data management specific to a MongoDb implementation.
|
fr.inria.atlanmod.neoemf.data.mongodb.config |
Provides configuration classes to define specific behaviors of MongoDb data persistence.
|
fr.inria.atlanmod.neoemf.data.mongodb.document |
Provides MongoDB documents.
|
fr.inria.atlanmod.neoemf.data.mongodb.util |
Provides utility classes related to MongoDb.
|
The figure below describes the integration of NeoEMF in the Eclipse Modeling Framework (EMF) ecosystem, the most popular modeling framework nowadays.
Modelers typically access a model using Model-based Tools, which provide high-level modeling features such as a graphical interface, interactive console, or query editor. These features internally rely on EMF's Model Access API to navigate models, perform CRUD operations, check constraints, etc.
At its core, EMF delegates the operations to a persistence manager using its Persistence API, which is in charge of the (de)serialization of the model.
The NeoEMF core component is defined at this level, and can be registered as a persistence manager for EMF, replacing, for instance, the default XMI persistence manager. This design makes NeoEMF both transparent to the client-application and EMF itself, that simply delegates the calls without taking care of the actual storage.
Once the NeoEMF core component has received the request of the modeling operation to perform, it forwards the operation to the appropriate database driver (MapDB, Blueprints, or HBase), which is in charge of handling the low-level representation of the model. These connectors translate modeling operations into Backend API calls, store the results, and reify database records into EMF EObjects when needed.
NeoEMF also embeds a set of default caching strategies that are used to improve performance of client applications, and can be configured transparently at the EMF API level.
Each backend is provided in a dedicated Eclipse plugin. you can navigate through the documentation to have a complete overview of backend-specific classes and how they interact with the core component.
NeoEMF provides 6 database adapters for now:
Sources are available on GitHub. Further informations can be found on NeoEMF website.
Copyright © 2013–2019 Atlanmod. All rights reserved.