Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "CDO/Client"
(→CDOObject Introduction) |
(→CDOObject Introduction) |
||
Line 2: | Line 2: | ||
CDOObjects represent the object instances of the models that your application deals with. Internally each such object is managed by a singleton CDOStateMachine. The state machine accurately transits objects and trees of objects through the states TRANSIENT, NEW, CLEAN, DIRTY, PROXY and CONFLICT. When a CDOObject is in one of the persistent states NEW, CLEAN or DIRTY the state machine associates a CDORevision that carries the current values of the modeled structural features. All revisions created or used in a CDOSession are shared by the CDORevisionMnager of that session. CDOObjects are only known to the CDO client. Only revisions are subject to (network) transfers between client and server. | CDOObjects represent the object instances of the models that your application deals with. Internally each such object is managed by a singleton CDOStateMachine. The state machine accurately transits objects and trees of objects through the states TRANSIENT, NEW, CLEAN, DIRTY, PROXY and CONFLICT. When a CDOObject is in one of the persistent states NEW, CLEAN or DIRTY the state machine associates a CDORevision that carries the current values of the modeled structural features. All revisions created or used in a CDOSession are shared by the CDORevisionMnager of that session. CDOObjects are only known to the CDO client. Only revisions are subject to (network) transfers between client and server. | ||
+ | |||
[[Image:CDOObject.png]] | [[Image:CDOObject.png]] | ||
+ | |||
A CDOObject is basically an EObject with a handful of additional read-only features as the following java code shows: | A CDOObject is basically an EObject with a handful of additional read-only features as the following java code shows: |
Revision as of 06:32, 19 October 2007
CDOObject Introduction
CDOObjects represent the object instances of the models that your application deals with. Internally each such object is managed by a singleton CDOStateMachine. The state machine accurately transits objects and trees of objects through the states TRANSIENT, NEW, CLEAN, DIRTY, PROXY and CONFLICT. When a CDOObject is in one of the persistent states NEW, CLEAN or DIRTY the state machine associates a CDORevision that carries the current values of the modeled structural features. All revisions created or used in a CDOSession are shared by the CDORevisionMnager of that session. CDOObjects are only known to the CDO client. Only revisions are subject to (network) transfers between client and server.
A CDOObject is basically an EObject with a handful of additional read-only features as the following java code shows:
public interface CDOObject extends EObject { public CDOClass cdoClass(); public CDOID cdoID(); public CDOState cdoState(); public CDOView cdoView(); public CDOResource cdoResource(); public CDORevision cdoRevision(); }
The method names differ from the regular Java getter notation to make it less likely that name collisions with your model name space occur. To understand the details about the return types you should browse the JavaDoc.
CDOObject Categories
Model Type | Native | Legacy | Meta | |||
Dynamic | Generated | Unwoven | Woven | |||
Development Artifacts |
Ecore | Unaffected | N/A | |||
Genmodel | N/A | Slightly modified | Unaffected | |||
Instance Interface | CDOObject | EObject | EModelObject | |||
Statemachine Interface | CDOAdapter | CDOCallback | CDOMeta | |||
Location of Internal Values |
class | DynamicCDOObject | Java Byte Code | |||
store | CDOObject | N/A | ||||
view | CDOAdapter | CDOCallback | CDOMeta | |||
id | CDOSession | |||||
state | N/A | |||||
revision | ||||||
resource | ||||||
Location of Model Values per CDOState |
TRANSIENT | EObject | ||||
NEW | CDORevision | EObject and CDORevision | ||||
DIRTY | ||||||
CLEAN | EModelObject |
Wikis: CDO | Net4j | EMF | Eclipse
CDOObject Categories
Model Type | Native | Legacy | Meta | |||
Dynamic | Generated | Unwoven | Woven | |||
Development Artifacts |
Ecore | Unaffected | N/A | |||
Genmodel | N/A | Slightly modified | Unaffected | |||
Instance Interface | CDOObject | EObject | EModelObject | |||
Statemachine Interface | CDOAdapter | CDOCallback | CDOMeta | |||
Location of Internal Values |
class | DynamicCDOObject | Java Byte Code | |||
store | CDOObject | N/A | ||||
view | CDOAdapter | CDOCallback | CDOMeta | |||
id | CDOSession | |||||
state | N/A | |||||
revision | ||||||
resource | ||||||
Location of Model Values per CDOState |
TRANSIENT | EObject | ||||
NEW | CDORevision | EObject and CDORevision | ||||
DIRTY | ||||||
CLEAN | EModelObject |