001: /**
002: *
003: * Copyright (C) 2007 Enterprise Distributed Technologies Ltd
004: *
005: * www.enterprisedt.com
006: *
007: * This library is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU Lesser General Public
009: * License as published by the Free Software Foundation; either
010: * version 2.1 of the License, or (at your option) any later version.
011: *
012: * This library is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this library; if not, write to the Free Software
019: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: *
021: * Bug fixes, suggestions and comments should be should posted on
022: * http://www.enterprisedt.com/forums/index.php
023: *
024: * Change Log:
025: *
026: * $Log: AdvancedSettings.java,v $
027: * Revision 1.2 2007-12-20 00:40:16 bruceb
028: * autologin
029: *
030: * Revision 1.1 2007-12-18 07:52:06 bruceb
031: * 2.0 changes
032: *
033: *
034: */package com.enterprisedt.net.ftp;
035:
036: /**
037: * Holds advanced configuration options not likely to be used for
038: * basic FTP operations. These options must be set prior to establishing
039: * connections, otherwise they have no effect until a new connection is made.
040: *
041: * @author Bruce Blackshaw
042: * @version $Revision: 1.2 $
043: */
044: public class AdvancedSettings {
045:
046: protected ConnectionContext context;
047:
048: /**
049: * Determine if auto login is switched on
050: *
051: * @return true if auto login
052: */
053: public boolean isAutoLogin() {
054: return context.isAutoLogin();
055: }
056:
057: /**
058: * Set the autoLogin flag
059: *
060: * @param autoLogin true if logging in automatically
061: */
062: public void setAutoLogin(boolean autoLogin) {
063: context.setAutoLogin(autoLogin);
064: }
065:
066: /**
067: * Constructor
068: *
069: * @param context context that settings are kept in
070: */
071: protected AdvancedSettings(ConnectionContext context) {
072: this .context = context;
073: }
074:
075: /**
076: * Listen on all interfaces for active mode transfers (the default).
077: *
078: * @param listenOnAll true if listen on all interfaces, false to listen on the control interface
079: */
080: public void setListenOnAllInterfaces(boolean listenOnAll) {
081: context.setListenOnAllInterfaces(listenOnAll);
082: }
083:
084: /**
085: * Are we listening on all interfaces in active mode, which is the default?
086: *
087: * @return true if listening on all interfaces, false if listening just on the control interface
088: */
089: public boolean getListenOnAllInterfaces() {
090: return context.getListenOnAllInterfaces();
091: }
092:
093: /**
094: * If true, delete partially written files when exceptions are thrown
095: * during a download
096: *
097: * @return true if delete local file on error
098: */
099: public boolean isDeleteOnFailure() {
100: return context.isDeleteOnFailure();
101: }
102:
103: /**
104: * Switch on or off the automatic deletion of partially written files
105: * that are left when an exception is thrown during a download
106: *
107: * @param deleteOnFailure true if delete when a failure occurs
108: */
109: public void setDeleteOnFailure(boolean deleteOnFailure) {
110: context.setDeleteOnFailure(deleteOnFailure);
111: }
112:
113: /**
114: * Get the encoding used for the control channel
115: *
116: * @return Returns the current controlEncoding.
117: */
118: public String getControlEncoding() {
119: return context.getControlEncoding();
120: }
121:
122: /**
123: * Set the control channel encoding.
124: *
125: * @param controlEncoding The controlEncoding to set, which is the name of a Charset
126: */
127: public void setControlEncoding(String controlEncoding) {
128: context.setControlEncoding(controlEncoding);
129: }
130:
131: /**
132: * Set the size of the data buffers used in reading and writing to the server
133: *
134: * @param size new size of buffer in bytes
135: */
136: public void setTransferBufferSize(int size) {
137: context.setTransferBufferSize(size);
138: }
139:
140: /**
141: * Get the size of the data buffers used in reading and writing to the server
142: *
143: * @return transfer buffer size
144: */
145: public int getTransferBufferSize() {
146: return context.getTransferBufferSize();
147: }
148:
149: /**
150: * Get the interval used for progress notification of transfers.
151: *
152: * @return number of bytes between each notification.
153: */
154: public int getTransferNotifyInterval() {
155: return context.getTransferNotifyInterval();
156: }
157:
158: /**
159: * Set the interval used for progress notification of transfers.
160: *
161: * @param notifyInterval number of bytes between each notification
162: */
163: public void setTransferNotifyInterval(int notifyInterval) {
164: context.setTransferNotifyInterval(notifyInterval);
165: }
166:
167: }
|