/* * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is the Netscape Messaging Access SDK Version 3.5 code, * released on or about June 15, 1998. * * The Initial Developer of the Original Code is Netscape Communications * Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): ______________________________________. */ /* * Copyright (c) 1997 and 1998 Netscape Communications Corporation * (http://home.netscape.com/misc/trademarks.html) */ package netscape.messaging.imap4; import netscape.messaging.*; import java.io.*; import java.net.*; import java.util.*; /** * The SystemPreferences class records the preferences * for the IMAP4 implementation of the Messaging Access SDK. *

The methods of this class return preferences for block * size, default port, debug flag, and time-out length. * @author alterego@netscape.com * @version 0.1 */ public class SystemPreferences { /** *Creates a SystemPreferences object. *Default constructor for the SystemPreferences class. */ public SystemPreferences() { m_io = null; m_imapPort = 143; m_timeOut = 0; m_fDebug = false; m_blockSize = 1024; } /** * Sets the synchronous timeout for reading data from the socket * input buffer. * @param in_timeOut Time-out in milliseconds. Default: 60000 milliseconds. * @exception InterruptedIOException If the timeout period expires. * @see #getTimeout */ public synchronized void setTimeout(int in_timeOut) throws IOException { m_timeOut = in_timeOut; if(m_io != null) { m_io.setTimeout(in_timeOut); } } /** * Gets the synchronous timeout for reading data from the socket * input buffer. If timeout expires, a InterruptedIOException is thrown. * @param in_timeOut Time-out in milliseconds. * @exception InterruptedIOException If the timeout period expires. * @see #setTimeout */ public synchronized int getTimeout() { return m_timeOut; } /** * Sets the debug flag. * @param in_fDebug Status of the flag. true: debug flag is present; * false: no debug flag. * @see #getDebugFlag */ public synchronized void setDebugFlag(boolean in_fDebug) { m_fDebug = in_fDebug; } /** * Gets the debug flag. * @return boolean Status of the debug flag. true: debug flag is present; * false: no debug flag. * @see #setDebugFlag */ public synchronized boolean getDebugFlag() { return m_fDebug; } /** * Sets the block size returned in fetchData. * @param int Block size. * @see #getBlockSize */ public synchronized void setBlockSize(int in_blockSize) { m_blockSize = in_blockSize; } /** * Gets the block size used in fetchData. * @return int Block size. * @see #setBlockSize */ public synchronized int getBlockSize() { return m_blockSize; } /** * Sets the default port to connect to. * @param in_port Numeric ID of default port. * @see #getPort */ public synchronized void setPort(int in_port) { m_imapPort = in_port; } /** * Gets the default port to connect to. * @return int The default port. * @see #setPort */ public synchronized int getPort() { return m_imapPort; } /** * Sets the IO object. * @param in_io The IO object */ protected synchronized void setIO(IO in_io) { m_io = in_io; } //Data members /**The default IMAP4 port*/ private int m_imapPort; /**The time out in milliseconds for waiting for data on a read off the socket. Default: 1000*/ private int m_timeOut; /**A reference to the dispatcher so that it can update the time out*/ private IO m_io; /**The block size*/ private int m_blockSize; /**The debug flag*/ private boolean m_fDebug; }