Working with Views |
![]() |
This chapter covers view management, resource handling, querying, transactions, and related options in CDO client applications. Views are central to accessing and interacting with model data in a CDO repository. Understanding how to use views effectively is key to building responsive and scalable applications.
CDO provides several types of views, including read-only views and transactional views. Read-only views allow safe navigation of repository data without risk of modification, while transactional views enable changes and commits. This section explains the differences, use cases, and lifecycle of each view type.
Views in CDO are inherently thread-safe. This section discusses best practices for managing concurrent access, synchronizing operations, and avoiding race conditions when working with views in multi-threaded environments.
Learn how to open views to access repository data and close them to release resources. Proper management of view lifecycles helps prevent memory leaks and ensures efficient resource usage.
The CDO repository exposes a virtual file system for organizing model resources. This section describes the structure and usage of the file system, including root resources, folders, and different resource types.
The root resource is the entry point to the CDO file system. It contains all top-level folders and resources, providing a hierarchical view of the repository's contents.
Resource folders organize model resources into logical groups. Learn how to create, navigate, and manage folders to structure your repository effectively.
Model resources store EMF model data in the repository. This section explains how to load, save, and query model resources, and how they relate to EMF ResourceSet.
Binary resources allow storage of non-model data, such as images or files, within the CDO repository. Learn how to manage binary resources and integrate them with your application.
Text resources store textual data, such as configuration files or documentation, in the repository. This section covers reading, writing, and organizing text resources.
Resource sets are collections of resources managed together. Learn how to use EMF ResourceSet with CDO, manage resource lifecycles, and optimize performance for large models.
This section provides techniques for traversing and querying model objects within views, including use of EMF APIs and CDO-specific features for efficient navigation.
Learn how to synchronize your client with repository changes, block for updates, and react to notifications to keep your application state current.
CDO supports querying resources using various criteria. This section explains how to construct and execute queries to locate resources and model objects efficiently.
Learn how to query model objects using CDO's query APIs, including support for OCL, custom queries, and cross-references.
Cross references allow navigation between related model objects. This section covers techniques for querying and resolving cross references in CDO models.
Extend CDO's querying capabilities with custom query implementations. Learn how to define, register, and execute custom queries for advanced use cases.
Units are disjunct subtrees of model objects that can be managed independently. This section explains how to create, open, and close units, and how they can improve performance and consistency in your application.
Views emit events for changes, updates, and errors. This section explains how to listen for and handle view events to build responsive applications.
Configure view options to customize behavior, such as passive updates, notification handling, and more.
Access and modify view properties to store custom metadata and configuration values.