⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractcommandline.java

📁 Java Mail Server JAVA编写的邮件服务器
💻 JAVA
字号:
/**************************************************************** * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.     * *                                                              * * Copyright 2008 Jun Li(SiChuan University, the School of      * * Software Engineering). All rights reserved.                  * *                                                              * * Licensed to the JMS under one  or more contributor license   * * agreements.  See the LICENCE file  distributed with this     * * work for additional information regarding copyright          * * ownership.  The JMS licenses this file  you may not use this * * file except in compliance  with the License.                 * *                                                              * * 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.jpxx.mail.Service;import org.jpxx.mail.Exception.ArgumentException;/** * <tt>AbstractCommandLine</tt> is an abstract class, which implements some  * functions of the interface <tt>CommandLine</tt>. *  * @author Jun Li * @version $Revision: 0.0.3 $, $Date: 2008/05/20 $ * @since JMS 0.0.3 */public abstract class AbstractCommandLine implements CommandLine {    /**     * A command line(String)     */    protected String line = null;    /**     * Argument counter     */    private int counter = 0;    /**     * Arguments     */    private String args[];    /**     *      * @param line a command line     * @throws org.jpxx.mail.Exception.ArgumentException     */    public AbstractCommandLine(String line) throws ArgumentException {        if (line == null) {            throw new ArgumentException("Command line is NULL.");        } else if (line.trim().equals("")) {            throw new ArgumentException("No command.");        } else {            line = line.trim();            line = line.replace("  ", " ");            args = line.split(" ");                        this.line = line;        }    }    /**     * @see CommandLine#getName()     * @return the command name of current line     */    public String getName() {        int spaceIndex = line.indexOf(" ");        if (spaceIndex == -1) {            return line.toUpperCase();        } else {            return line.substring(0, spaceIndex).toUpperCase();        }    }    /**     * @see CommandLine#getArgument()     * @return the command argument of current line.     */    public String getArgument() throws ArgumentException {        int spaceIndex = line.indexOf(" ");        if (spaceIndex == -1) {            throw new ArgumentException("No argument.");        } else {            return line.substring(spaceIndex + 1);        }    }    /**     * @see CommandLine#getArgument(int num)     * @since JMS 0.0.1     * @param num 0 - i     * @return the argument     * @throws org.jpxx.mail.Exception.ArgumentException     */    public String getArgument(int num) throws ArgumentException {        int length = args.length;        if (length == 1) {            throw new ArgumentException("No argument.");        } else if (num > length - 2) {            throw new ArgumentException("Out of boundary.");        } else {            return args[num + 1].trim();        }    }    /**     * @see CommandLine#getNextArgument()     *      * @since JMS 0.0.3     * @return the argument. If no argument, the null object will be returned.      * @throws org.jpxx.mail.Exception.ArgumentException     */    public String getNextArgument() throws ArgumentException {        int length = args.length;        if (length == 1 || counter > length - 1) {            return null;        } else {            this.counter++;            return args[counter].trim();        }    }    /**     * @see CommandLine#getLine()     * @return The line of String     */    public String getLine() {        return this.line;    }}

⌨️ 快捷键说明

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