blob: 68626539f468ed9d0865b2086e08c7f9fadf3bb4 [file] [log] [blame]
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
package org.eclipse.compare.structuremergeviewer;
import java.util.Iterator;
import org.eclipse.compare.ITypedElement;
/**
* Interface used to compare hierarchical structures.
* It is used by the differencing engine.
* <p>
* Clients typically implement this interface in an adaptor class which
* wrappers the objects to be compared.
*
* @see org.eclipse.compare.ResourceNode
* @see Differencer
*/
public interface IStructureComparator {
/**
* Returns an iterator for all children of this object or <code>null</code>
* if there are no children.
*
* @return an array with all children of this object, or an empty array if there are no children
*/
Object[] getChildren();
/**
* Returns whether some other object is "equal to" this one
* with respect to a structural comparison. For example, when comparing
* Java class methods, <code>equals</code> would return <code>true</code>
* if two methods have the same signature (the argument names and the
* method body might differ).
*
* @param other the reference object with which to compare
* @return <code>true</code> if this object is the same as the other argument; <code>false</code> otherwise
* @see java.lang.Object#equals
*/
boolean equals(Object other);
}