blob: f5efd79a837a804dedfc933fd21a8cc16aaaba2b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.team.internal.ccvs.core;
import java.io.InputStream;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.team.core.TeamException;
/**
* This interface represents a file in a repository.
* Instances of this interface can be used to fetch the contents
* of the remote file.
*
* In the future, additional information should be available (tags, revisions, etc.)
*
* Clients are not expected to implement this interface.
*/
public interface ICVSRemoteFile extends ICVSRemoteResource, ICVSFile {
/**
* Returns a stream over the contents of this remote element.
*
* @param progress a progress monitor to indicate the duration of the operation, or
* <code>null</code> if progress reporting is not required.
*/
public InputStream getContents(IProgressMonitor progress) throws TeamException;
/**
* Get the log entry for the revision the remote file represents.
* This method will return null until after the getContents(IProgressMonitor)
* method is called (i.e. the call to getContents also fetches the entry.
*/
public ILogEntry getLogEntry(IProgressMonitor monitor) throws TeamException;
/**
* Get all the log entries of the remote file
*/
public ILogEntry[] getLogEntries(IProgressMonitor monitor) throws TeamException;
/**
* Get the revision of the remote file (e.g. 1.1)
*
* The revision depends on any tagging associated with the remote parent used
* to access the file.
*/
public String getRevision() throws TeamException;
}