001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.net.ftp;
020
021/**
022 * represent a ftp connection
023 */
024public interface FTPConnection {
025
026    /**
027     * @return Returns the name.
028     */
029    public abstract String getName();
030
031    /**
032     * @return Returns the password.
033     */
034    public abstract String getPassword();
035
036    /**
037     * @return Returns the server.
038     */
039    public abstract String getServer();
040
041    /**
042     * @return Returns the username.
043     */
044    public abstract String getUsername();
045
046    /**
047     * @return returns if has logindata or not
048     */
049    public abstract boolean hasLoginData();
050
051    /**
052     * @return has name
053     */
054    public abstract boolean hasName();
055
056    /**
057     * @return Returns the port.
058     */
059    public abstract int getPort();
060
061    /**
062     * @return Returns the timeout.
063     */
064    public abstract int getTimeout();
065
066    /**
067     * @return Returns the transferMode.
068     */
069    public abstract short getTransferMode();
070
071    /**
072     * @return Returns the passive.
073     */
074    public abstract boolean isPassive();
075
076    /**
077     * @param conn
078     * @return has equal login
079     */
080    public abstract boolean loginEquals(FTPConnection conn);
081
082    /**
083     * @return Returns the proxyserver.
084     */
085    public String getProxyServer();
086    
087        public int getProxyPort();
088
089        /**
090         * return the proxy username
091         * @return proxy username
092         */
093        public String getProxyUser();
094
095    
096        /**
097         * return the proxy password
098         * @return proxy password
099         */
100        public String getProxyPassword();
101        
102}