This package contains tools for comparing various items in a Orbit database, finding differences, and, in some cases, merging those differences. The main entry to using these classes is the {@link com.sigrity.orbit.diff_merge.DTDiffMerge} class which is normally accessed via {@link com.sigrity.orbit.diff_merge.ui.DTDiffMergeUI}.
Additional comparison and merge functionality can be added. For example, to add a new type of comparison, extend the {@link com.sigrity.orbit.diff_merge.Compare} class and then register an instance of the subclass with {@link com.sigrity.orbit.diff_merge.CompareRegistry#addCompare(Class, Compare)}. Code wishing to compare objects may then call {@link com.sigrity.orbit.diff_merge.CompareRegistry#getCompares(Class)} to get the objects that can compare objects of the specified type and call each of their {@link com.sigrity.orbit.diff_merge.Compare#getDiffs(CompareContext, DbObject, DbObject)} methods to find differences.
Normally each {@link com.sigrity.orbit.diff_merge.Compare} subclass will implement a new set {@link com.sigrity.orbit.diff_merge.Compare.Diff} and/or {@link com.sigrity.orbit.diff_merge.Compare.Mergeable} classes to indicate differences that can be detected.