package railo.runtime.net.ftp; import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import railo.runtime.exp.PageException; // FUTURE make this interface independent from org.apache so that the loader no longer need the apache.commons... jar /** * FTP Pool */ public interface FTPPool { /** * returns a FTPClient from the pool, if no matching exist, create a new one * @param conn * @return Matching FTP Client * @throws IOException * @throws PageException */ public abstract FTPClient get(FTPConnection conn) throws IOException, PageException; /** * removes a FTPConnection from pool andreturn it (disconnected) * @param conn * @return disconnetd Client */ public abstract FTPClient remove(FTPConnection conn); /** * removes a FTPConnection from pool andreturn it (disconnected) * @param name Name of the connection to remove * @return disconnetd Client */ public abstract FTPClient remove(String name); /** * clears all connection from pool */ public abstract void clear(); }