📄 mhstore.java
字号:
/*** $Id: MHStore.java,v 1.4 2001/05/07 12:38:11 kunugi Exp $**** Copyright (c) 2000-2001 Jeff Gay** on behalf of ICEMail.org <http://www.icemail.org>** Copyright (c) 1998-2000 by Timothy Gerard Endres** ** This program is free software.** ** You may redistribute it and/or modify it under the terms of the GNU** General Public License as published by the Free Software Foundation.** Version 2 of the license should be included with this distribution in** the file LICENSE, as well as License.html. If the license is not** included with this distribution, you may find a copy at the FSF web** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.**** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR** REDISTRIBUTION OF THIS SOFTWARE.*/package org.icemail.javamail.mh;import java.io.File;import javax.mail.Folder;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Store;import javax.mail.URLName;/** * The storage class implementing an MH local disk mail protocol. */public class MHStore extends Store{ private static final String VERSION_STR = "3.0.4"; private String path_ = null; private MHFolder defaultFolder_ = null; /** * Constructor. */ public MHStore( Session session, URLName urlname ) { super( session, urlname ); // set debug if a port is specified // this.debug = ( urlname.getPort() > 0 ); // translate the URL into a local file path path_ = urlname.getFile(); String xuserPath = System.getProperty( "user.dir" ); String xhomePath = System.getProperty( "user.home" ); if ( path_ != null && path_.equals( "~" ) ) { // "~" becomes the home directory of the user path_ = xhomePath; } if ( path_ != null && path_.startsWith( "~/" ) ) { // "~" becomes the home directory of the user path_ = xhomePath + path_.substring( 1 ); } if ( path_ != null && path_.equals( "." ) ) { // "." becomes the current directory of the user path_ = xuserPath; } if ( path_ != null && path_.startsWith( "./" ) ) { // "." becomes the current directory of the user path_ = xuserPath + path_.substring(1); } if ( path_ != null && path_.length() == 0 ) { // default to the current directory of the user path_ = xuserPath; } if ( path_ == null || path_.length() == 0 ) { // default to the current directory of the user path_ = "."; } // translate the URL separators into local OS specific separators path_ = path_.replace( File.separatorChar, '/' ); } /** * Returns the debug level of this store. */ public boolean getDebug() { return super.debug; } /** * Get the path to the root directory of the store. */ public String getPath() { return path_; } /** * For now, all connects are successful. * <p> * Implementation of javax.mail.Service.protocolConnect(). */ protected boolean protocolConnect( String host, int port, String username, String password ) throws MessagingException { return true; } /** * Closes the connection. * <p> * Implementation of javax.mail.Service.close(). */ public synchronized void close() throws MessagingException { super.close(); } /** * Returns the default folder. * <p> * Implements javax.mail.Store.getDefaultFolder(). */ public Folder getDefaultFolder() throws MessagingException { if ( defaultFolder_ == null ) { defaultFolder_ = new MHFolder( this, "", super.debug ); } return defaultFolder_; } /** * Returns the specified folder. * <p> * Implements javax.mail.Store.getFolder(). */ public Folder getFolder( String s ) throws MessagingException { MHFolder xfolder = new MHFolder( this, s, super.debug ); return xfolder; } /** * Returns the specified folder. * <p> * Implements javax.mail.Store.getFolder(). */ public Folder getFolder( URLName urlname ) throws MessagingException { return getFolder( urlname.getFile() ); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -