Clover coverage report - Spice Netserve - 1.1-b3
Coverage timestamp: Tue Nov 30 2004 22:08:21 EET
file stats: LOC: 50   Methods: 1
NCLOC: 22   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ManagedRequestHandler.java - 100% 100% 100%
coverage
 1    package org.codehaus.spice.netserve.connection.handlers;
 2   
 3    import java.net.Socket;
 4    import org.codehaus.spice.netserve.connection.RequestHandler;
 5   
 6    /**
 7    * A handler that allows user to handle ConnectionHandlers.
 8    * Subclasses may pool or create transient handlers etc.
 9    */
 10    public abstract class ManagedRequestHandler
 11    extends AbstractRequestHandler
 12    {
 13    /**
 14    * Actually handle the request.
 15    * Assume that the caller will gracefully
 16    * handle unexpected exceptions and shutdown
 17    * the socket when this method returns.
 18    *
 19    * @param socket the socket
 20    * @throws Exception if an erro roccurs
 21    */
 22  3 protected void doPerformRequest( final Socket socket )
 23    throws Exception
 24    {
 25  3 final RequestHandler handler = aquireHandler( socket );
 26  3 try
 27    {
 28  3 handler.handleConnection( socket );
 29    }
 30    finally
 31    {
 32  3 releaseHandler( handler );
 33    }
 34    }
 35   
 36    /**
 37    * Retrieve the underlying handler.
 38    *
 39    * @param socket the socket
 40    * @return the RequestHandler
 41    */
 42    protected abstract RequestHandler aquireHandler( Socket socket );
 43   
 44    /**
 45    * Release the underlying handler.
 46    *
 47    * @param handler the handler
 48    */
 49    protected abstract void releaseHandler( RequestHandler handler );
 50    }