defaultftplet.java

来自「JAVA FTP 上传下载 的源文件」· Java 代码 · 共 342 行

JAVA
342
字号
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */package org.apache.ftpserver.ftplet;import java.io.IOException;/** * Default ftplet implementation. All the callback method returns null. It is * just an empty implementation. You can derive your ftplet implementation from * this class. * * @author The Apache MINA Project (dev@mina.apache.org) * @version $Rev: 719389 $, $Date: 2008-11-20 22:50:22 +0100 (Thu, 20 Nov 2008) $ */public class DefaultFtplet implements Ftplet {    public void init(FtpletContext ftpletContext) throws FtpException {    }    public void destroy() {    }    public FtpletResult onConnect(FtpSession session) throws FtpException,            IOException {        return null;    }    public FtpletResult onDisconnect(FtpSession session) throws FtpException,            IOException {        return null;    }    public FtpletResult beforeCommand(FtpSession session, FtpRequest request)            throws FtpException, IOException {        String command = request.getCommand().toUpperCase();        if ("DELE".equals(command)) {            return onDeleteStart(session, request);        } else if ("STOR".equals(command)) {            return onUploadStart(session, request);        } else if ("RETR".equals(command)) {            return onDownloadStart(session, request);        } else if ("RMD".equals(command)) {            return onRmdirStart(session, request);        } else if ("MKD".equals(command)) {            return onMkdirStart(session, request);        } else if ("APPE".equals(command)) {            return onAppendStart(session, request);        } else if ("STOU".equals(command)) {            return onUploadUniqueStart(session, request);        } else if ("RNTO".equals(command)) {            return onRenameStart(session, request);        } else if ("SITE".equals(command)) {            return onSite(session, request);        } else {            // TODO should we call a catch all?            return null;        }    }    public FtpletResult afterCommand(FtpSession session, FtpRequest request, FtpReply reply)            throws FtpException, IOException {        // the reply is ignored for these callbacks                String command = request.getCommand().toUpperCase();        if ("PASS".equals(command)) {            return onLogin(session, request);        } else if ("DELE".equals(command)) {            return onDeleteEnd(session, request);        } else if ("STOR".equals(command)) {            return onUploadEnd(session, request);        } else if ("RETR".equals(command)) {            return onDownloadEnd(session, request);        } else if ("RMD".equals(command)) {            return onRmdirEnd(session, request);        } else if ("MKD".equals(command)) {            return onMkdirEnd(session, request);        } else if ("APPE".equals(command)) {            return onAppendEnd(session, request);        } else if ("STOU".equals(command)) {            return onUploadUniqueEnd(session, request);        } else if ("RNTO".equals(command)) {            return onRenameEnd(session, request);        } else {            // TODO should we call a catch all?            return null;        }    }    /**     * Override this method to intercept user logins     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onLogin(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept deletions     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onDeleteStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to handle deletions after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onDeleteEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept uploads     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onUploadStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to handle uploads after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onUploadEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept downloads     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onDownloadStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to handle downloads after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onDownloadEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept deletion of directories     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onRmdirStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to handle deletion of directories after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onRmdirEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept creation of directories     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onMkdirStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to handle creation of directories after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onMkdirEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept file appends     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onAppendStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept file appends after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onAppendEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept unique uploads     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onUploadUniqueStart(FtpSession session,            FtpRequest request) throws FtpException, IOException {        return null;    }    /**     * Override this method to handle unique uploads after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onUploadUniqueEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept renames     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onRenameStart(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to handle renames after completion     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onRenameEnd(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }    /**     * Override this method to intercept SITE commands     * @param session The current {@link FtpSession}     * @param request The current {@link FtpRequest}     * @return The action for the container to take     * @throws FtpException     * @throws IOException     */    public FtpletResult onSite(FtpSession session, FtpRequest request)            throws FtpException, IOException {        return null;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?