![]() |
|||||
|
How to make the changes persistent?To make object and attribute modifications persistent,
Below is a complete example putting together all previously explained topics. Example 6-10. Create a Person instance, set some attributes and make it permanent in a UnitOfWork // In our lab model Person instances are referenced by containment
// by reference "person" originating from a given segment instance.
// Therefore the given segment instance has to be retrieved.
Path segmentPath = new Path(PROVIDER_URI).add("segment").add(SEGMENT_QUALIFIER);
Segment segment = (Segment)rootPkg.refObject(segmentPath.toUri());
// retrieve class proxy for class Person from package
RefClass personClass = lab1Pkg.refClass(
"org:openmdx:example:lab1:Person"
);
// begin unit of work
lab1Pkg.refBegin();
// use class proxy to create a new Person instance
RefObject person = personClass.refCreateInstance(null);
// set some attribute values
person.refSetValue(
"org:openmdx:example:lab1:Person:givenName",
"Hans"
);
person.refSetValue(
"org:openmdx:example:lab1:Person:lastName",
"Muster"
);
person.refSetValue(
"org:openmdx:example:lab1:Person:middleName",
"Fritz"
);
// adding person instance to segment (not JMI compliant!)
segment.refAddValue(
"org:openmdx:example:lab1:Segment:person",
qualifier,
person
);
// commit unit of work
lab1Pkg.refCommit(); |
||||