LibreOffice Module xmerge (master) 1
Packages | Classes
Package org.openoffice.xmerge.merger

The DiffAlgorithm and MergeAlgorithm are used to provide the merge capabilities of this project. More...

Packages

package  diff
 Provides implementations for the Iterator interface and related support classes.
 
package  merge
 Provides implementations for the MergeAlgorithm interface, the NodeMergeAlgorithm interface, and related support classes.
 

Classes

interface  DiffAlgorithm
 This is the difference algorithm interface. More...
 
class  Difference
 This is the Difference basic unit. More...
 
interface  Iterator
 This is an interface used by the DiffAlgorithm and MergeAlgorithm to access a Document. More...
 
interface  MergeAlgorithm
 This is the MergeAlgorithm interface. More...
 
interface  NodeMergeAlgorithm
 This is an interface for a MergeAlgorithm to merge two Node objects. More...
 

Detailed Description

The DiffAlgorithm and MergeAlgorithm are used to provide the merge capabilities of this project.

Merge is useful when an OfficeDocument is converted to a "Device" Document format, and the "Device" Document version is modified. Those changes can be merged back into the original OfficeDocument with the merger. The merger is capable of doing this even if the "Device" format is lossy in comparison to the OfficeDocument format.

The DiffAlgorithm generates a list of Difference objects that represent the differences between two OfficeDocument objects. It is assumed that one is the original OfficeDocument object and the other is a "lossy" version of the same Document with edits to be merged. Typically the "lossy" version is created by converting a "Device" Document back into an OfficeDocument.

The MergeAlgorithm takes the Difference objects as input, and creates a merged OfficeDocument. A merged OfficeDocument has the following features:

Each converter provides an implementation of the ConverterCapabilities which specifies which OfficeDocument tags are supported for the device format.