|
What this is
Other links
The source code/***************************************************************************** * Sun Public License Notice * * The contents of this file are subject to the Sun Public License Version * 1.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is available at http://www.sun.com/ * * The Original Code is the CVS Client Library. * The Initial Developer of the Original Code is Robert Greig. * Portions created by Robert Greig are Copyright (C) 2000. * All Rights Reserved. * * Contributor(s): Robert Greig. *****************************************************************************/ package org.netbeans.lib.cvsclient.file; import java.io.*; import java.util.*; import org.netbeans.lib.cvsclient.command.*; import org.netbeans.lib.cvsclient.request.*; import org.netbeans.lib.cvsclient.util.*; /** * Handles the reading and writing of files to and from the server. Different * implementations of this interface can use different formats for sending or * receiving the files, for example gzipped format. * @author Robert Greig */ public interface FileHandler { /** * Transmit a text file to the server, using the standard CVS protocol * conventions. CR/LFs are converted to the Unix format. * @param file the file to transmit * @param dos the data outputstream on which to transmit the file */ void transmitTextFile(File file, LoggedDataOutputStream dos) throws IOException; /** * Transmit a binary file to the server, using the standard CVS protocol * conventions. * @param file the file to transmit * @param dos the data outputstream on which to transmit the file */ void transmitBinaryFile(File file, LoggedDataOutputStream dos) throws IOException; /** * Write (either create or replace) a text file on the local machine with * one read from the server. * @param path the absolute path of the file, (including the file name). * @param mode the mode of the file * @param dis the stream to read the file from, as bytes * @param length the number of bytes to read */ void writeTextFile(String path, String mode, LoggedDataInputStream dis, int length) throws IOException; /** * Merge a text file on the local machine with * the diff from the server. (it uses the RcsDiff response format * - see cvsclient.ps for details) * @param path the absolute path of the file, (including the file name). * @param mode the mode of the file * @param dis the stream to read the file from, as bytes * @param length the number of bytes to read */ void writeRcsDiffFile(String path, String mode, LoggedDataInputStream dis, int length) throws IOException; /** * Write (either create or replace) a text file on the local machine with * one read from the server. * @param path the absolute path of the file, (including the file name). * @param mode the mode of the file * @param dis the stream to read the file from, as bytes * @param length the number of bytes to read */ void writeBinaryFile(String path, String mode, LoggedDataInputStream dis, int length) throws IOException; /** * Remove the specified file from the local disk. * @param pathname the full path to the file to remove * @throws IOException if an IO error occurs while removing the file */ void removeLocalFile(String pathname) throws IOException; /** * Rename the local file * @param pathname the full path to the file to rename * @param newName the new name of the file (not the full path) * @throws IOException if an IO error occurs while renaming the file */ void renameLocalFile(String pathname, String newName) throws IOException; /** * Set the modified date of the next file to be written. The next call * to writeFile will use this date. * @param modifiedDate the date the file should be marked as modified */ void setNextFileDate(Date modifiedDate); /** * Get any requests that must be sent before commands are sent, to init * this file handler. * @return an array of Requests that must be sent */ Request[] getInitialisationRequests(); /** * Sets the global options. * This can be useful to detect, whether local files should be made read-only. */ void setGlobalOptions(GlobalOptions globalOptions); } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.