System and method for maintaining alternate object views
First Claim
1. A computer program product having a computer readable storage medium operable to store computer program logic embodied in computer program code encoded thereon for updateable partial binding comprising:
- computer program code for creating associations between document objects in a markup language and managed objects in a content tree, the document objects corresponding to a class hierarchy structure;
computer program code for selectively modifying the managed objects; and
computer program code for updating, by traversing the created associations, the document objects corresponding to the modified managed objects, the updating occurring in a lossless manner which preserves unmodified data in the document objects;
wherein the document objects in the markup language correspond to a first view from an application program, and the managed objects in the content tree correspond to a second view from the application program;
wherein creating comprises unmarshalling the document objects in the markup language to create the managed objects, wherein unmarshalling includes identifying a class structure in a document object model having a set of instances of the document objects;
compiling the identified class structure to generate a second class structure corresponding to the managed objects; and
matching tags and attributes corresponding to the markup language objects to the managed objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A binding framework including a binder operable to associate and synchronize particular document objects with corresponding content objects performs unmarshalling to create the content objects from the XML documents. The content objects, which may in particular configurations be JAXB content objects, provide an alternate view to the XML data contained in the underlying XML documents. Java (i.e. user) applications then modify, or update the content objects via the alternate view, and rewrite, or update, the corresponding XML document during a marshalling process (i.e. writing the data from Java back into XML). The binding framework maintains the associations such that bound content objects are modifiable and may update the corresponding XML data in a non-destructive manner which avoids overwriting or “clobbering” other preexisting data contained in the XML document object during marshalling. The synchronizer employs the associations to maintain runtime consistency between the XML, or DOM view and the Java, or JAXB view.
-
Citations
15 Claims
-
1. A computer program product having a computer readable storage medium operable to store computer program logic embodied in computer program code encoded thereon for updateable partial binding comprising:
-
computer program code for creating associations between document objects in a markup language and managed objects in a content tree, the document objects corresponding to a class hierarchy structure; computer program code for selectively modifying the managed objects; and computer program code for updating, by traversing the created associations, the document objects corresponding to the modified managed objects, the updating occurring in a lossless manner which preserves unmodified data in the document objects; wherein the document objects in the markup language correspond to a first view from an application program, and the managed objects in the content tree correspond to a second view from the application program; wherein creating comprises unmarshalling the document objects in the markup language to create the managed objects, wherein unmarshalling includes identifying a class structure in a document object model having a set of instances of the document objects;
compiling the identified class structure to generate a second class structure corresponding to the managed objects; and
matching tags and attributes corresponding to the markup language objects to the managed objects.- View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of maintaining parallel synchronized views of an object model comprising:
-
identifying markup definitions adapted for synchronous binding via alternate views; compiling the identified markup definitions to generate alternate classes corresponding to an alternate view; unmarshalling markup documents corresponding to the markup definitions, the markup documents including markup data, unmarshalling including instantiating managed objects representative of the markup documents conforming to a corresponding one of the generated classes; binding the created managed objects to the corresponding markup document, the binding including associating managed objects in the generated classes to the markup documents from which the managed objects were created; storing the associations as synchronous views indicative of corresponding markup objects and managed objects; modifying the managed objects from a user application, the user application operable to process the markup documents and the managed objects of the alternate classes; marshalling the modified managed objects, marshalling further comprising; identifying, via the associations, markup objects corresponding to the modified managed objects; and updating the corresponding markup objects with the modified managed objects, updating further comprising employing the associations for updating changes made by the user application and avoiding modifying existing markup data in the markup objects. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A data processing device for updateable partial binding of software objects comprising:
-
a binder operable to identify markup definitions adapted for synchronous binding via alternate views, the binder further comprising; an unmarshaller operable to create associations between document objects in a markup language and managed objects in a content tree, the document objects corresponding to a class hierarchy structure defined by the markup definitions; a compiler operable to compiling the identified markup definitions to generate alternate classes corresponding to an alternate view, the compiler further operable to generate an application programming interface for selectively modifying the managed objects from user code; and a marshaller operable to update, by traversing the created associations, the document objects corresponding to the modified managed objects, the updating occurring in a lossless manner which preserves unmodified data in the document objects; wherein the unmarshaller is further operable to create a content tree of managed objects from the markup documents, the managed objects corresponding to the markup definitions; wherein the marshaller is further operable to; identify modified managed objects from the created managed objects; map, via the associations, markup documents corresponding to the modified managed objects; and modify the mapped markup document with updates made to the corresponding modified managed objects. - View Dependent Claims (14, 15)
-
Specification