package org.wikiwebserver.sync;

import java.io.IOException;
import java.io.InputStream;

public interface DataLocation {
    
    public int getSite();
    public Object getBasePath();
    public long getTimeOffset() throws IOException;
    
    public FileItemBatch getBatch(String id) throws Exception;
    public void saveBatch(String id) throws Exception;
    
    public InputStream getInputStream(FileItem item) throws IOException;
    public void transferData(DataLocation source, FileItem item) throws IOException, InterruptedException;
    
    public long getCurrentTransferPosition();
    public void commitTransfer(FileItem item) throws IOException;
    public void delete(FileItem item) throws IOException;
    public void mkdir(FileItem item) throws IOException;
}

