Coverage Report - wjhk.jupload2.upload.FileUploadThread
 
Classes in this File Line Coverage Branch Coverage Complexity
FileUploadThread
N/A
N/A
1
 
 1  
 //
 2  
 // $Id: FileUploadThread.java 1026 2010-02-24 10:12:19Z etienne_sf $
 3  
 //
 4  
 // jupload - A file upload applet.
 5  
 // Copyright 2007 The JUpload Team
 6  
 //
 7  
 // Created: ?
 8  
 // Creator: William JinHua Kwong
 9  
 // Last modified: $Date: 2010-02-24 11:12:19 +0100 (mer., 24 févr. 2010) $
 10  
 //
 11  
 // This program is free software; you can redistribute it and/or modify it under
 12  
 // the terms of the GNU General Public License as published by the Free Software
 13  
 // Foundation; either version 2 of the License, or (at your option) any later
 14  
 // version. This program is distributed in the hope that it will be useful, but
 15  
 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 16  
 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 17  
 // details. You should have received a copy of the GNU General Public License
 18  
 // along with this program; if not, write to the Free Software Foundation, Inc.,
 19  
 // 675 Mass Ave, Cambridge, MA 02139, USA.
 20  
 
 21  
 package wjhk.jupload2.upload;
 22  
 
 23  
 import java.util.concurrent.BlockingQueue;
 24  
 
 25  
 import wjhk.jupload2.exception.JUploadException;
 26  
 import wjhk.jupload2.policies.UploadPolicy;
 27  
 
 28  
 /**
 29  
  * This interface defines the methods of the various FileUploadThread classes.
 30  
  * The default implementation is in the {@link DefaultFileUploadThread}. It
 31  
  * allows retries, for network errors. See
 32  
  * {@link UploadPolicy#PROP_RETRY_MAX_NUMBER_OF} and
 33  
  * {@link UploadPolicy#PROP_RETRY_NB_SECONDS_BETWEEN} for details.
 34  
  */
 35  
 public interface FileUploadThread {
 36  
     /**
 37  
      * @return the packetQueue
 38  
      */
 39  
     public BlockingQueue<UploadFilePacket> getPacketQueue();
 40  
 
 41  
     /**
 42  
      * Get the server response message. In HTTP mode, it's the body part,
 43  
      * without the HTTP headers.<BR>
 44  
      * Note: was getResponseMsg until release 3.4.1.
 45  
      * 
 46  
      * @return The String that contains the HTTP response message (e.g.
 47  
      *         "SUCCESS")
 48  
      */
 49  
     public String getResponseMsg();
 50  
 
 51  
     /**
 52  
      * Closes the connection to the server and releases resources.
 53  
      */
 54  
     public void close();
 55  
 
 56  
     /**
 57  
      * @return The Thread state
 58  
      * @see Thread#getState()
 59  
      */
 60  
     public Thread.State getState();
 61  
 
 62  
     /**
 63  
      * This method is created in this interface, and is implemented by
 64  
      * {@link DefaultFileUploadThread}, as this class is a subclass of
 65  
      * {@link Thread}.
 66  
      * 
 67  
      * @return true if the thread is currently working.
 68  
      * @see java.lang.Thread#isAlive()
 69  
      */
 70  
     public boolean isAlive();
 71  
 
 72  
     /**
 73  
      * This method is created in this interface, and is implemented by
 74  
      * {@link DefaultFileUploadThread}, as this class is a subclass of
 75  
      * {@link Thread}.
 76  
      * 
 77  
      * @throws InterruptedException
 78  
      * @see java.lang.Thread#join()
 79  
      */
 80  
     public void join() throws InterruptedException;
 81  
 
 82  
     /**
 83  
      * This method is created in this interface, and is implemented by
 84  
      * {@link DefaultFileUploadThread}, as this class is a subclass of
 85  
      * {@link Thread}.
 86  
      * 
 87  
      * @param millisec
 88  
      * @throws InterruptedException
 89  
      * @see java.lang.Thread#join(long)
 90  
      */
 91  
     public void join(long millisec) throws InterruptedException;
 92  
 
 93  
     /**
 94  
      * This method is created in this interface, and is implemented by
 95  
      * {@link DefaultFileUploadThread}, as this class is a subclass of
 96  
      * {@link Thread}.
 97  
      * 
 98  
      * @see java.lang.Thread#start()
 99  
      */
 100  
     public void start();
 101  
 
 102  
     /**
 103  
      * This method is created in this interface, and is implemented by
 104  
      * {@link DefaultFileUploadThread}, as this class is a subclass of
 105  
      * {@link Thread}.
 106  
      * 
 107  
      * @see java.lang.Thread#interrupt()
 108  
      */
 109  
     public void interrupt();
 110  
 
 111  
     /**
 112  
      * Changes the FileUploadManagerThread. The standard way is to give the
 113  
      * FileUploadManagerThread to the constructor. This method is used by JUnit
 114  
      * tests, to be able to control which FileUploadThread is created.
 115  
      * 
 116  
      * @param fileUploadManagerThread
 117  
      * @throws JUploadException
 118  
      * @see FileUploadManagerThread
 119  
      */
 120  
     void setFileUploadThreadManager(
 121  
             FileUploadManagerThread fileUploadManagerThread)
 122  
             throws JUploadException;
 123  
 
 124  
 }