package hudson.plugins.perforce;
import hudson.scm.*;
import java.io.IOException;
import java.net.URL;
import com.tek42.perforce.model.Changelist;
/**
* {@link RepositoryBrowser} for Perforce.
*
* @author Mike wille
*/
public abstract class PerforceRepositoryBrowser extends RepositoryBrowser<PerforceChangeLogEntry> {
/**
* Determines the link to the diff between the version.
* in the {@link PerforceChangeLogEntry.Change.File} to its previous version.
*
* @return
* null if the browser doesn't have any URL for diff.
*/
public abstract URL getDiffLink(Changelist.FileEntry file) throws IOException;
/**
* Determines the link to a single file under Perforce.
* This page should display all the past revisions of this file, etc.
*
* @return
* null if the browser doesn't have any suitable URL.
*/
public abstract URL getFileLink(Changelist.FileEntry file) throws IOException;
private static final long serialVersionUID = 1L;
}