package org.eclipse.buckminster.subversion;
import java.io.Closeable;
import java.net.URI;
import java.util.Date;
import org.eclipse.buckminster.core.RMContext;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
public interface ISubversionSession<SVN_ENTRY_TYPE, SVN_REVISION_TYPE> extends Closeable {
@Override
public void close();
public void createCommonRoots(RMContext context) throws CoreException;
public long getLastChangeNumber() throws CoreException;
public Date getLastTimestamp() throws CoreException;
public SVN_REVISION_TYPE getRevision();
public SVN_ENTRY_TYPE getRootEntry(IProgressMonitor monitor) throws CoreException;
public ISvnEntryHelper<SVN_ENTRY_TYPE> getSvnEntryHelper();
public URI getSVNRootUrl(boolean branches) throws CoreException;
public URI getSVNUrl() throws CoreException;
public URI getSVNUrl(String url) throws CoreException;
public boolean hasTrunkStructure();
public SVN_ENTRY_TYPE[] listFolder(URI url, IProgressMonitor monitor) throws CoreException;
}