public interface IModelComparatorInterface for a model comparator. They compare entire models and return a set of relevant differences, if any exist. Comparators may only be able to compare certain models, based on various criteria.
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description
canCompare(IModel expectedModel, IModel obtainedModel)Checks if the comparator can compare these two models.
compare(IModel expectedModel, IModel obtainedModel)Returns an object with the differences between this model and
configure(Map<String,Object> options)Configures the model comparator with the specified options.
saveDeltaToFile(Object delta, File basename)Saves the provided delta (as produced by
compare(IModel, IModel)to a file with the provided basename.
static final String OPTION_MODEL_CLONE_DIRECTORYIf
configure(Map)is called with this key set to a File or a String, the model clones needed by the comparator should be created in that directory.
- See Also:
- Constant Field Values
canCompareChecks if the comparator can compare these two models.
compare(IModel, IModel)should finish successfully, and false otherwise.
compareReturns an object with the differences between this model and
otherModel. If there are no differences, returns
null. The exact configuration of the comparison depends on the model. For instance, unique identifiers (such as XMI IDs) may be ignored if the main object of these comparisons is to test model transformations. These tend to produce different unique identifiers each time they are run.
configureConfigures the model comparator with the specified options. At least the
OPTION_MODEL_CLONE_DIRECTORYoption should be honored, if models are being frozen into clones before performing the comparison.
IllegalArgumentException- One of the options has an invalid value is or not available.
default File saveDeltaToFile(Object delta, File basename) throws IOExceptionSaves the provided delta (as produced by
compare(IModel, IModel)to a file with the provided basename. The actual extension will be picked by this component.
delta- Detected model difference (e.g. a Comparison when using EMF Compare).
basename- File with the desired basename (extension to be picked by comparator).
- File where the delta has been saved, after adding the extension.
IOException- There was a problem writing to the file.