/*
 * Differ.java
 *
 * Created on May 24, 2006, 2:49 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package usda.weru.util.diff;

/**
 *
 * @author Joseph Levin
 */
public interface Differ {
    public static int DIFF_UNKNOWN = 512;
    public static int DIFF_ERROR = 1024;
    
    public static int DIFF_SAME = 1;
    public static int DIFF_CHANGED = 2;
    public static int DIFF_ADDED = 4;
    public static int DIFF_REMOVED = 8;
    
    //These are extensions of DIFF_CHANGED and should always be return with the chaneged flag.
    //These are intended for numerical diffs
    public static int DIFF_INCREASED = 16 + DIFF_CHANGED;
    public static int DIFF_DECREASED = 32 + DIFF_CHANGED;
        
    public int diff(Object a, Object b) throws IncomparableObjectsException;        
}

