Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileObject.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileObject.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileObject.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileObject.java Sun Aug 17 12:52:42 2008 @@ -15,7 +15,7 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; @@ -25,80 +25,82 @@ /** * This is the file abstraction used by the server. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface FileObject { - +public interface FileObject { + /** * Get the fully qualified name. */ String getFullName(); - + /** * Get the file short name. */ String getShortName(); - + /** * Is a hidden file? */ boolean isHidden(); - + /** * Is it a directory? */ boolean isDirectory(); - + /** * Is it a file? */ boolean isFile(); - + /** * Does this file exists? */ boolean doesExist(); - + /** * Has read permission? - */ + */ boolean hasReadPermission(); - + /** * Has write permission? - */ - boolean hasWritePermission(); - + */ + boolean hasWritePermission(); + /** * Has delete permission? */ boolean hasDeletePermission(); - + /** * Get the owner name. - */ + */ String getOwnerName(); - + /** * Get owner group name. */ - String getGroupName(); - + String getGroupName(); + /** * Get link count. */ int getLinkCount(); - + /** * Get last modified time. - */ + */ long getLastModified(); - + /** * Get file size. */ long getSize(); - + /** * Create directory. */ @@ -108,30 +110,27 @@ * Delete file. */ boolean delete(); - + /** * Move file. */ boolean move(FileObject destination); - + /** - * List file objects. If not a directory or does not exist, - * null will be returned. - * Files must be returned in alphabetical order. + * List file objects. If not a directory or does not exist, null will be + * returned. Files must be returned in alphabetical order. */ FileObject[] listFiles(); - + /** - * Create output stream for writing. If the file is - * not random accessible, any offset other than zero - * will throw an exception. + * Create output stream for writing. If the file is not random accessible, + * any offset other than zero will throw an exception. */ OutputStream createOutputStream(long offset) throws IOException; - + /** - * Create input stream for reading. If the file is - * not random accessible, any offset other than zero - * will throw an exception. + * Create input stream for reading. If the file is not random accessible, + * any offset other than zero will throw an exception. */ InputStream createInputStream(long offset) throws IOException; }
Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemManager.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemManager.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemManager.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemManager.java Sun Aug 17 12:52:42 2008 @@ -15,20 +15,21 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; /** - * This is the file system manager - it returns the file system - * view for user. + * This is the file system manager - it returns the file system view for user. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface FileSystemManager { - +public interface FileSystemManager { + /** * Create user specific file system view. */ FileSystemView createFileSystemView(User user) throws FtpException; - + } Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemView.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemView.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemView.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FileSystemView.java Sun Aug 17 12:52:42 2008 @@ -15,42 +15,43 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; - /** * This is an abstraction over the user file system view. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface FileSystemView { +public interface FileSystemView { /** * Get the user home directory. */ FileObject getHomeDirectory() throws FtpException; - + /** * Get user current directory. */ FileObject getCurrentDirectory() throws FtpException; - + /** * Change directory. - */ + */ boolean changeDirectory(String dir) throws FtpException; - + /** * Get file object. */ FileObject getFileObject(String file) throws FtpException; - + /** - * Does the file system support random file access? + * Does the file system support random file access? */ - boolean isRandomAccessible() throws FtpException; - + boolean isRandomAccessible() throws FtpException; + /** * Dispose file system view. */ Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpException.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpException.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpException.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpException.java Sun Aug 17 12:52:42 2008 @@ -15,7 +15,7 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; @@ -24,12 +24,14 @@ /** * Ftplet exception class. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -class FtpException extends Exception { +public class FtpException extends Exception { private static final long serialVersionUID = -1328383839915898987L; - + private Throwable throwable = null; /** @@ -42,17 +44,19 @@ /** * Constructs a <code>FtpException</code> object with a message. * - * @param msg a description of the exception + * @param msg + * a description of the exception */ public FtpException(String msg) { super(msg); } /** - * Constructs a <code>FtpException</code> object with a + * Constructs a <code>FtpException</code> object with a * <code>Throwable</code> cause. * - * @param th the original cause + * @param th + * the original cause */ public FtpException(Throwable th) { super(th.getMessage()); @@ -60,55 +64,53 @@ } /** - * Constructs a <code>BaseException</code> object with a + * Constructs a <code>BaseException</code> object with a * <code>Throwable</code> cause. * - * @param th the original cause + * @param th + * the original cause */ public FtpException(String msg, Throwable th) { super(msg); throwable = th; } - + /** * Get the root cause. */ public Throwable getRootCause() { return throwable; } - + /** * Print stack trace. */ public void printStackTrace(PrintWriter pw) { - if(throwable == null) { + if (throwable == null) { super.printStackTrace(pw); - } - else { + } else { throwable.printStackTrace(pw); } } - + /** * Print stack trace. */ public void printStackTrace(PrintStream ps) { - if(throwable == null) { + if (throwable == null) { super.printStackTrace(ps); - } - else { + } else { throwable.printStackTrace(ps); } } - + /** * Print stack trace. */ public void printStackTrace() { - if(throwable == null) { + if (throwable == null) { super.printStackTrace(); - } - else { + } else { throwable.printStackTrace(); } } Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpReply.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpReply.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpReply.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpReply.java Sun Aug 17 12:52:42 2008 @@ -21,6 +21,9 @@ /** * Interface for a reply to an FTP request. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ public interface FtpReply { @@ -231,19 +234,22 @@ /** * The reply code + * * @return The reply code */ int getCode(); /** * The reply message, might be multiple lines + * * @return The reply message */ String getMessage(); - /** - * Must implement toString to format the reply as described in the RFC. - * Most important is the handling of multi-line replies. + /** + * Must implement toString to format the reply as described in the RFC. Most + * important is the handling of multi-line replies. + * * @return The formated reply */ String toString(); Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpRequest.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpRequest.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpRequest.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpRequest.java Sun Aug 17 12:52:42 2008 @@ -15,13 +15,15 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; - /** - * One FtpRequest made by the client. + * One FtpRequest made by the client. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ public interface FtpRequest { @@ -29,7 +31,7 @@ * Get the client request string. */ String getRequestLine(); - + /** * Returns the ftp request command. */ @@ -39,9 +41,10 @@ * Get the ftp request argument. */ String getArgument(); - + /** * Check if request contains an argument + * * @return true if an argument is available */ boolean hasArgument(); Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpSession.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpSession.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpSession.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpSession.java Sun Aug 17 12:52:42 2008 @@ -15,7 +15,7 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; @@ -24,12 +24,14 @@ import java.util.Date; /** - * Defines an client session with the FTP server. The session is born - * when the client connects and dies when the client disconnects. - * Ftplet methods will always get the same session for one user and one - * connection. - * So the attributes set by <code>setAttribute()</code> will be always - * available later unless that attribute is removed or the client disconnects. + * Defines an client session with the FTP server. The session is born when the + * client connects and dies when the client disconnects. Ftplet methods will + * always get the same session for one user and one connection. So the + * attributes set by <code>setAttribute()</code> will be always available later + * unless that attribute is removed or the client disconnects. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ public interface FtpSession { @@ -37,23 +39,23 @@ * Returns the IP address of the client that sent the request. */ InetAddress getClientAddress(); - + InetAddress getServerAddress(); - + int getServerPort(); - + /** * Get FTP data connection. */ DataConnectionFactory getDataConnection(); - + Certificate[] getClientCertificates(); - + /** * Get connection time. */ Date getConnectionTime(); - + /** * Get the login time. */ @@ -63,7 +65,7 @@ * Get the number of failed logins. When login succeeds, this will return 0. */ int getFailedLogins(); - + /** * Get last access time. */ @@ -75,7 +77,7 @@ * [EMAIL PROTECTED] User#getMaxIdleTime()} after user login. */ int getMaxIdleTime(); - + /** * Set maximum idle time in seconds. This time equals to * [EMAIL PROTECTED] ConnectionManagerImpl#getDefaultIdleSec()} until user login, and @@ -94,12 +96,12 @@ * @return user name entered in USER command */ String getUserArgument(); - + /** * Get the requested language. */ String getLanguage(); - + /** * Is the user logged in? */ @@ -109,57 +111,59 @@ * Get user file system view. */ FileSystemView getFileSystemView(); - + /** * Get file upload/download offset. */ long getFileOffset(); - + /** * Get rename from file object. */ FileObject getRenameFrom(); - + /** * Get the data type. */ DataType getDataType(); - + /** * Get structure. */ Structure getStructure(); - + /** - * Returns the value of the named attribute as an Object, - * or null if no attribute of the given name exists. + * Returns the value of the named attribute as an Object, or null if no + * attribute of the given name exists. */ Object getAttribute(String name); - + /** - * Stores an attribute in this request. It will be available - * until it was removed or when the connection ends. + * Stores an attribute in this request. It will be available until it was + * removed or when the connection ends. */ void setAttribute(String name, Object value); - + /** * Removes an attribute from this request. */ void removeAttribute(String name); - + /** * Write a reply to the client - * @param reply The reply that will be sent to the client + * + * @param reply + * The reply that will be sent to the client * @throws FtpException */ void write(FtpReply reply) throws FtpException; - + /** - * Indicates whether the control socket for this session is secure, - * that is, running over SSL/TLS + * Indicates whether the control socket for this session is secure, that is, + * running over SSL/TLS + * * @return true if the control socket is secured */ boolean isSecure(); - - + } Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpStatistics.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpStatistics.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpStatistics.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpStatistics.java Sun Aug 17 12:52:42 2008 @@ -15,7 +15,7 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; @@ -23,86 +23,88 @@ import java.util.Date; /** - * This interface holds all the ftp server statistical information. + * This interface holds all the ftp server statistical information. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface FtpStatistics { +public interface FtpStatistics { /** * Get the server start time. */ Date getStartTime(); - + /** * Get number of files uploaded. */ int getTotalUploadNumber(); - + /** * Get number of files downloaded. */ int getTotalDownloadNumber(); - + /** * Get number of files deleted. */ int getTotalDeleteNumber(); - + /** * Get total number of bytes uploaded. */ long getTotalUploadSize(); - + /** * Get total number of bytes downloaded. */ long getTotalDownloadSize(); - + /** * Get total directory created. */ int getTotalDirectoryCreated(); - + /** * Get total directory removed. */ int getTotalDirectoryRemoved(); - + /** * Get total number of connections */ int getTotalConnectionNumber(); - + /** * Get current number of connections. */ int getCurrentConnectionNumber(); - + /** * Get total login number. */ int getTotalLoginNumber(); - + /** * Get total failed login number. */ int getTotalFailedLoginNumber(); - + /** * Get current login number */ int getCurrentLoginNumber(); - + /** * Get total anonymous login number. */ int getTotalAnonymousLoginNumber(); - + /** * Get current anonymous login number. */ int getCurrentAnonymousLoginNumber(); - + /** * Get the login number for the specific user */ @@ -110,8 +112,11 @@ /** * Get the login number for the specific user from the ipAddress - * @param user login user account - * @param ipAddress the ip address of the remote user + * + * @param user + * login user account + * @param ipAddress + * the ip address of the remote user */ int getCurrentUserLoginNumber(User user, InetAddress ipAddress); } Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java Sun Aug 17 12:52:42 2008 @@ -15,101 +15,119 @@ * 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; /** - * Defines methods that all ftplets must implement. - * - * A ftplet is a small Java program that runs within a FTP server. - * Ftplets receive and respond to requests from FTP clients. - * - * This interface defines methods to initialize a ftplet, to service requests, - * and to remove a ftplet from the server. These are known as life-cycle methods - * and are called in the following sequence: - * + * Defines methods that all ftplets must implement. + * + * A ftplet is a small Java program that runs within a FTP server. Ftplets + * receive and respond to requests from FTP clients. + * + * This interface defines methods to initialize a ftplet, to service requests, + * and to remove a ftplet from the server. These are known as life-cycle methods + * and are called in the following sequence: + * * <ol> - * <li>The ftplet is constructed.</li> - * <li>Then initialized with the init method.</li> - * <li>All the callback methods will be invoked.</li> - * <li>The ftplet is taken out of service, then destroyed with the destroy method.</li> - * <li>Then garbage collected and finalized.</li> + * <li>The ftplet is constructed.</li> + * <li>Then initialized with the init method.</li> + * <li>All the callback methods will be invoked.</li> + * <li>The ftplet is taken out of service, then destroyed with the destroy + * method.</li> + * <li>Then garbage collected and finalized.</li> * </ol> * - * All the callback methods return FtpletEnum. If it returns null FtpletEnum.RET_DEFAULT - * will be assumed. If any ftplet callback method throws exception, that particular connection - * will be disconnected. + * All the callback methods return FtpletEnum. If it returns null + * FtpletEnum.RET_DEFAULT will be assumed. If any ftplet callback method throws + * exception, that particular connection will be disconnected. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface Ftplet { - - /** - * Called by the ftplet container to indicate to a ftplet that the ftplet - * is being placed into service. - * The ftplet container calls the init method exactly once after instantiating - * the ftplet. The init method must complete successfully before the ftplet can - * receive any requests. +public interface Ftplet { + + /** + * Called by the ftplet container to indicate to a ftplet that the ftplet is + * being placed into service. The ftplet container calls the init method + * exactly once after instantiating the ftplet. The init method must + * complete successfully before the ftplet can receive any requests. */ void init(FtpletContext ftpletContext) throws FtpException; - + /** - * Called by the Ftplet container to indicate to a ftplet that the ftplet is - * being taken out of service. This method is only called once all threads within - * the ftplet's service method have exited. After the ftplet container calls this - * method, callback methods will not be executed. If the ftplet initialization - * method fails, this method will not be called. + * Called by the Ftplet container to indicate to a ftplet that the ftplet is + * being taken out of service. This method is only called once all threads + * within the ftplet's service method have exited. After the ftplet + * container calls this method, callback methods will not be executed. If + * the ftplet initialization method fails, this method will not be called. */ void destroy(); - + /** - * Called by the ftplet container before a command is executed by the server. - * The implementation should return based on the desired action to be taken by the server: + * Called by the ftplet container before a command is executed by the + * server. The implementation should return based on the desired action to + * be taken by the server: * <ul> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_DEFAULT}: The server continues as normal and executes the command</li> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_NO_FTPLET}: The server does not call any more Ftplets before this command - * but continues execution of the command as usual</li> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_SKIP}: The server skips over execution of the command. Note that the Ftplet is - * responsible for returning the appropriate reply to the client, or the client might deadlock.</li> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_DISCONNECT}: The server will immediately disconnect the client.</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_DEFAULT}: The server continues as normal and + * executes the command</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_NO_FTPLET}: The server does not call any more + * Ftplets before this command but continues execution of the command as + * usual</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_SKIP}: The server skips over execution of the + * command. Note that the Ftplet is responsible for returning the + * appropriate reply to the client, or the client might deadlock.</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_DISCONNECT}: The server will immediately + * disconnect the client.</li> * <li>Ftplet throws exception: Same as [EMAIL PROTECTED] FtpletEnum#RET_DISCONNECT}</li> * </ul> - * @param session The current session - * @param request The current request + * + * @param session + * The current session + * @param request + * The current request * @return The desired action to be performed by the server * @throws FtpException * @throws IOException */ - FtpletEnum beforeCommand(FtpSession session, FtpRequest request) throws FtpException, IOException; + FtpletEnum beforeCommand(FtpSession session, FtpRequest request) + throws FtpException, IOException; /** - * Called by the ftplet container after a command has been executed by the server. - * The implementation should return based on the desired action to be taken by the server: + * Called by the ftplet container after a command has been executed by the + * server. The implementation should return based on the desired action to + * be taken by the server: * <ul> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_DEFAULT}: The server continues as normal</li> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_NO_FTPLET}: The server does not call any more Ftplets before this command - * but continues as normal</li> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_SKIP}: Same as [EMAIL PROTECTED] FtpletEnum#RET_DEFAULT}</li> - * <li>[EMAIL PROTECTED] FtpletEnum#RET_DISCONNECT}: The server will immediately disconnect the client.</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_DEFAULT}: The server continues as normal</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_NO_FTPLET}: The server does not call any more + * Ftplets before this command but continues as normal</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_SKIP}: Same as [EMAIL PROTECTED] FtpletEnum#RET_DEFAULT}</li> + * <li>[EMAIL PROTECTED] FtpletEnum#RET_DISCONNECT}: The server will immediately + * disconnect the client.</li> * <li>Ftplet throws exception: Same as [EMAIL PROTECTED] FtpletEnum#RET_DISCONNECT}</li> * </ul> - * @param session The current session - * @param request The current request + * + * @param session + * The current session + * @param request + * The current request * @return The desired action to be performed by the server * @throws FtpException * @throws IOException */ - FtpletEnum afterCommand(FtpSession session, FtpRequest request) throws FtpException, IOException; - + FtpletEnum afterCommand(FtpSession session, FtpRequest request) + throws FtpException, IOException; + /** * Client connect notification method. */ FtpletEnum onConnect(FtpSession session) throws FtpException, IOException; - + /** * Client disconnect notification method. This is the last callback method. */ - FtpletEnum onDisconnect(FtpSession session) throws FtpException, IOException; + FtpletEnum onDisconnect(FtpSession session) throws FtpException, + IOException; } \ No newline at end of file Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletContext.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletContext.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletContext.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletContext.java Sun Aug 17 12:52:42 2008 @@ -15,34 +15,35 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; - /** - * A ftplet configuration object used by a ftplet container used to pass - * information to a ftplet during initialization. The configuration information + * A ftplet configuration object used by a ftplet container used to pass + * information to a ftplet during initialization. The configuration information * contains initialization parameters. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface FtpletContext { - +public interface FtpletContext { + /** * Get the user manager. */ UserManager getUserManager(); - + /** * Get file system manager */ FileSystemManager getFileSystemManager(); - + /** * Get ftp statistics. */ FtpStatistics getFtpStatistics(); - + /** * Get Ftplet. */ Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletEnum.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletEnum.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletEnum.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpletEnum.java Sun Aug 17 12:52:42 2008 @@ -15,75 +15,68 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; - /** - * This class encapsulates the return values of the ftplet methods. + * This class encapsulates the return values of the ftplet methods. * * RET_DEFAULT < RET_NO_FTPLET < RET_SKIP < RET_DISCONNECT + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -final class FtpletEnum { - +public final class FtpletEnum { - /** - * This return value indicates that the next ftplet method will - * be called. If no other ftplet is available, the ftpserver will - * process the request. - */ - public static final FtpletEnum RET_DEFAULT = new FtpletEnum(0); - - - /** - * This return value indicates that the other ftplet methods will - * not be called but the ftpserver will continue processing this - * request. - */ - public static final FtpletEnum RET_NO_FTPLET = new FtpletEnum(1); - - - /** - * It indicates that the ftpserver will skip everything. No further - * processing (both ftplet and server) will be done for this request. - */ - public static final FtpletEnum RET_SKIP = new FtpletEnum(2); - - - /** - * It indicates that the server will skip and disconnect the client. - * No other request from the same client will be served. - */ - public static final FtpletEnum RET_DISCONNECT = new FtpletEnum(3); - - - private int type; - - - /** - * Private constructor - set the type - */ - private FtpletEnum(int type) { - this.type = type; - } - - /** - * Equality check - */ - public boolean equals(Object obj) { - if(obj instanceof FtpletEnum) { - return type == ((FtpletEnum)obj).type; - } - return false; - } - - /** - * String representation - */ - public String toString() { - return String.valueOf(type); - } + /** + * This return value indicates that the next ftplet method will be called. + * If no other ftplet is available, the ftpserver will process the request. + */ + public static final FtpletEnum RET_DEFAULT = new FtpletEnum(0); + + /** + * This return value indicates that the other ftplet methods will not be + * called but the ftpserver will continue processing this request. + */ + public static final FtpletEnum RET_NO_FTPLET = new FtpletEnum(1); + + /** + * It indicates that the ftpserver will skip everything. No further + * processing (both ftplet and server) will be done for this request. + */ + public static final FtpletEnum RET_SKIP = new FtpletEnum(2); + + /** + * It indicates that the server will skip and disconnect the client. No + * other request from the same client will be served. + */ + public static final FtpletEnum RET_DISCONNECT = new FtpletEnum(3); + + private int type; + + /** + * Private constructor - set the type + */ + private FtpletEnum(int type) { + this.type = type; + } + + /** + * Equality check + */ + public boolean equals(Object obj) { + if (obj instanceof FtpletEnum) { + return type == ((FtpletEnum) obj).type; + } + return false; + } + + /** + * String representation + */ + public String toString() { + return String.valueOf(type); + } } Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Structure.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Structure.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Structure.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Structure.java Sun Aug 17 12:52:42 2008 @@ -15,12 +15,15 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; /** * Type safe enum for describing the structure + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ public class Structure { @@ -28,19 +31,19 @@ * File structure */ public static final Structure FILE = new Structure("F"); - + /** - * Parses the argument value from the STRU command into - * the type safe class + * Parses the argument value from the STRU command into the type safe class * - * @param argument The argument value from the STRU command. - * Not case sensitive + * @param argument + * The argument value from the STRU command. Not case sensitive * @return The appropriate structure - * @throws IllegalArgumentException If the structure is unknown + * @throws IllegalArgumentException + * If the structure is unknown */ public static Structure parseArgument(char argument) { - switch(argument) { + switch (argument) { case 'F': case 'f': return FILE; @@ -48,7 +51,7 @@ throw new IllegalArgumentException("Unknown structure: " + argument); } } - + private String structure; /** Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java Sun Aug 17 12:52:42 2008 @@ -15,28 +15,31 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; /** * Basic user interface. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface User { - +public interface User { + /** * Get the user name. */ String getName(); - + /** * Get password. */ String getPassword(); - + /** * Get all authorities granted to this user + * * @return All authorities */ Authority[] getAuthorities(); @@ -45,42 +48,42 @@ /** * Authorize a [EMAIL PROTECTED] AuthorizationRequest} for this user - * @param request The [EMAIL PROTECTED] AuthorizationRequest} to authorize - * @return A populated AuthorizationRequest if the user was - * authorized, null otherwise. + * + * @param request + * The [EMAIL PROTECTED] AuthorizationRequest} to authorize + * @return A populated AuthorizationRequest if the user was authorized, null + * otherwise. */ AuthorizationRequest authorize(AuthorizationRequest request); - + /** - * Get the maximum idle time in seconds. Zero or less idle time means no limit. + * Get the maximum idle time in seconds. Zero or less idle time means no + * limit. */ int getMaxIdleTime(); - + /** * Get the user enable status. */ boolean getEnabled(); - + /** * Get maximum user upload rate in bytes/sec. Zero or less means no limit. */ - //int getMaxUploadRate(); - + // int getMaxUploadRate(); /** * Get maximum user download rate in bytes/sec. Zero or less means no limit. */ - //int getMaxDownloadRate(); - + // int getMaxDownloadRate(); /** * Get maximum login number allowed for this user account */ - //int getMaxLoginNumber(); - + // int getMaxLoginNumber(); /** - * Get maximum login number allowed from the same IP address when using this user account + * Get maximum login number allowed from the same IP address when using this + * user account */ - //int getMaxLoginPerIP(); - + // int getMaxLoginPerIP(); /** * get user home directory */ Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/UserManager.java Sun Aug 17 12:52:42 2008 @@ -15,27 +15,28 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */ + */ package org.apache.ftpserver.ftplet; - /** * User manager interface. + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ */ -public -interface UserManager { +public interface UserManager { /** * Get user by name. */ User getUserByName(String login) throws FtpException; - + /** * Get all user names in the system. */ String[] getAllUserNames() throws FtpException; - + /** * Delete the user from the system. * @@ -43,7 +44,7 @@ * if UserManager in read-only mode */ void delete(String login) throws FtpException; - + /** * Save user. If a new user, create it else update the existing user. * @@ -51,22 +52,23 @@ * if UserManager in read-only mode */ void save(User user) throws FtpException; - + /** * User existance check. */ boolean doesExist(String login) throws FtpException; - + /** * Authenticate user */ - User authenticate(Authentication authentication) throws AuthenticationFailedException; - + User authenticate(Authentication authentication) + throws AuthenticationFailedException; + /** * Get admin user name */ String getAdminName() throws FtpException; - + /** * @return true if user with this login is administrator */ Modified: mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/DataTypeTest.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/DataTypeTest.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/DataTypeTest.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/DataTypeTest.java Sun Aug 17 12:52:42 2008 @@ -15,14 +15,19 @@ * 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 junit.framework.TestCase; +/** + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ + */ public class DataTypeTest extends TestCase { - + public void testParseA() { assertSame(DataType.ASCII, DataType.parseArgument('A')); assertSame(DataType.ASCII, DataType.parseArgument('a')); @@ -34,12 +39,12 @@ } public void testParseUnknown() { - try{ + try { DataType.parseArgument('x'); fail("Exception must be thrown"); - } catch(IllegalArgumentException e) { + } catch (IllegalArgumentException e) { // ignore - } + } } } Modified: mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/ExampleFtplet.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/ExampleFtplet.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/ExampleFtplet.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/ExampleFtplet.java Sun Aug 17 12:52:42 2008 @@ -15,36 +15,33 @@ * 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; -import org.apache.ftpserver.ftplet.DefaultFtpReply; -import org.apache.ftpserver.ftplet.DefaultFtplet; -import org.apache.ftpserver.ftplet.FtpException; -import org.apache.ftpserver.ftplet.FtpRequest; -import org.apache.ftpserver.ftplet.FtpSession; -import org.apache.ftpserver.ftplet.FtpletEnum; - -public class ExampleFtplet extends DefaultFtplet{ +/** + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ + */ +public class ExampleFtplet extends DefaultFtplet { @Override - public FtpletEnum onMkdirEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { + public FtpletEnum onMkdirEnd(FtpSession session, FtpRequest request) + throws FtpException, IOException { session.write(new DefaultFtpReply(550, "Error!")); return FtpletEnum.RET_SKIP; } @Override - public FtpletEnum onMkdirStart(FtpSession session, FtpRequest request) throws FtpException, IOException { - if(session.isSecure() && session.getDataConnection().isSecure()) { + public FtpletEnum onMkdirStart(FtpSession session, FtpRequest request) + throws FtpException, IOException { + if (session.isSecure() && session.getDataConnection().isSecure()) { // all is good } return null; } - - } Modified: mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/StructureTest.java URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/StructureTest.java?rev=686637&r1=686636&r2=686637&view=diff ============================================================================== --- mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/StructureTest.java (original) +++ mina/ftpserver/trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/StructureTest.java Sun Aug 17 12:52:42 2008 @@ -15,12 +15,17 @@ * 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 junit.framework.TestCase; +/** + * + * @author The Apache MINA Project ([EMAIL PROTECTED]) + * @version $Rev$, $Date$ + */ public class StructureTest extends TestCase { public void testParseF() { assertSame(Structure.FILE, Structure.parseArgument('F')); @@ -28,11 +33,11 @@ } public void testParseUnknown() { - try{ + try { Structure.parseArgument('x'); fail("Exception must be thrown"); - } catch(IllegalArgumentException e) { + } catch (IllegalArgumentException e) { // ignore - } + } } }
