1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 package org.netbeans.spi.diff; 21 22 import java.io.IOException; 23 import java.io.Reader; 24 25 //import org.openide.util.Lookup; 26 27 import org.netbeans.api.diff.Difference; 28 29 /** 30 * This class represents a provider of diff algorithm. The implementing class 31 * should calculate differences between two sources. 32 * <p>The registered Diff Providers can be obtained via {@link org.openide.util.Lookup} 33 * (e.g. you can get the default diff provider by 34 * <code>Lookup.getDefault().lookup(DiffProvider.class)</code>) 35 * 36 * @author Martin Entlicher 37 */ 38 public abstract class DiffProvider extends Object { 39 40 /* 41 public static DiffProvider getDefault() { 42 return (DiffProvider) Lookup.getDefault().lookup(DiffProvider.class); 43 } 44 */ 45 46 /** 47 * Create the differences of the content two streams. 48 * @param r1 the first source 49 * @param r2 the second source to be compared with the first one. 50 * @return the list of differences found, instances of {@link Difference}; 51 * or <code>null</code> when some error occured. 52 * @throws IOException when the reading from input streams fails. 53 */ 54 public abstract Difference[] computeDiff(Reader r1, Reader r2) throws IOException; 55 } 56