| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <meta name="Author" content="IBM"> |
| <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]"> |
| <title>Package-level Javadoc</title> |
| </head> |
| <body> |
| Provides support for performing structural and textual |
| compare operations on arbitrary data and displaying the results. |
| <h2> |
| Package Specification</h2> |
| |
| The class <b>CompareUI</b> defines the entry point to initiate a configurable |
| compare operation on arbitrary resources. The result of the compare is |
| opened into a compare editor where the details can be browsed and edited |
| in dynamically selected structure and content viewers. |
| <p> |
| |
| A compare operation must be implemented as a subclass of <b>CompareEditorInput</b>. |
| A <b>CompareEditorInput</b> runs a (potentially lengthy) compare operation |
| under progress monitor control, creates a UI for drilling-down into the |
| compare results, tracks the dirty state of the result in case of merge, |
| and saves any changes that occured during a merge. |
| <p> |
| |
| The <b>NavigationAction</b> is used to navigate (step) through the individual |
| differences of a <b>CompareEditorInput</b>. |
| <p> |
| |
| An instance of <b>CompareConfiguration</b> configures various UI aspects |
| of compare/merge viewers like title labels and images, or whether a side |
| of a merge viewer is editable. It is passed to the <b>CompareEditorInput</b> |
| on creation. |
| <p> |
| |
| When implementing a hierarchical compare operation as a subclass of |
| <b>CompareEditorInput</b> clients have to provide a tree of objects where each |
| node implements the interface |
| <b>org.eclipse.compare.structuremergeviewer.IStructureComparator</b>. |
| This interface is used by the hierarchical differencing engine |
| (<b>org.eclipse.compare.structuremergeviewer.Differencer</b>) to walk the tree. |
| <br> |
| In addition every leaf of the tree must implement the <b>IStreamContentAccessor</b> |
| interface in order to give the differencing engine access to its stream content. |
| <p> |
| |
| The abstract class <b>BufferedContent</b> provides a default implementation |
| for the <b>IStreamContentAccessor</b> and <b>IContentChangeNotifier</b> interfaces. |
| Its subclass <b>ResourceNode</b> adds an implementation for the |
| <b>IStructureComparator</b> and <b>ITypedElement</b> interfaces |
| based on Eclipse workbench resources (org.eclipse.core.resources.IResource). |
| It can be used without modification as the input to the differencing engine. |
| <p> |
| |
| The <b>ZipFileStructureCreator</b> is an implementation of the |
| <b>org.eclipse.compare.structuremergeviewer.IStructureCreator</b> interface |
| and makes the contents of a zip archive available as a |
| hierarchical structure of <b>IStructureComparator</b>s which can be easily compared |
| by the differencing engine (<b>org.eclipse.compare.structuremergeviewer.Differencer</b>). |
| It is a good example for how to make structured files available to the hierarchical |
| compare functionality of the Compare plugin. |
| <p> |
| |
| The <b>EditionSelectionDialog</b> is a simple selection dialog where |
| one input element can be compared against a list of historic variants (<i>editions</i>) |
| of the same input element. The dialog can be used to implement functions |
| like <i>"Replace with Version"</i> or <i>"Replace with Edition"</i> on workbench resources. |
| <p> |
| |
| In addition it is possible to specify a subsection of the input element |
| (e.g. a method in a Java source file) by means of a <i>path</i>. In this |
| case the dialog compares only the subsection (as specified by the path) |
| with the corresponding subsection in the list of editions. This functionality |
| can be used to implement <i>"Replace with Method Edition"</i> for the Java |
| language. |
| <p> |
| |
| The <b>EditionSelectionDialog</b> requires that the editions implement |
| the <b>IStreamContentAccessor</b> and <b>IModificationDate</b> interfaces. |
| The <b>HistoryItem</b> is a convenience class that implements these interfaces |
| for <b>IFileState</b> objects. |
| <p> |
| |
| |
| The <b>CompareViewerPane</b> is a convenience class which provides |
| a label and local toolbar for a compare viewer (or any other subclass of a |
| JFace <b>Viewer</b>). |
| <br> |
| Its abstract subclass <b>CompareViewerSwitchingPane</b> supports <i>dynamic |
| viewer switching</i>, that is the viewer installed in the pane is dynamically |
| determined by the pane's input object. |
| Both classes are useful if you want to use compare viewers outside the context of |
| a compare editor, for example in a dialog or wizard. |
| |
| |
| </body> |
| </html> |