View Javadoc

1   /*
2    * (C)opyright 2010, Nikolaos Georgosopoulos
3    *
4    * This file is part of URLChecker.
5   
6       URLChecker is free software: you can redistribute it and/or modify
7       it under the terms of the Lesser General Public License as published by
8       the Free Software Foundation, either version 3 of the License, or
9       (at your option) any later version.
10  
11      URLChecker is distributed in the hope that it will be useful,
12      but WITHOUT ANY WARRANTY; without even the implied warranty of
13      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14      GNU General Public License for more details.
15  
16      You should have received a copy of the Lesser General Public License
17      along with URLChecker.  If not, see <http://www.gnu.org/licenses/>.
18  
19   */
20  package net.sf.urlchecker.communication;
21  
22  import org.apache.commons.configuration.ConfigurationException;
23  import org.apache.commons.httpclient.HttpClient;
24  
25  /**
26   * The CommunicationBuilder Class .
27   * 
28   * <p>
29   * <b> $Id: CommunicationBuilder.java 182 2010-12-13 22:51:53Z georgosn $</b>
30   * </p>
31   * 
32   * @author $LastChangedBy: georgosn $
33   * @version $LastChangedRevision: 182 $
34   */
35  public class CommunicationBuilder {
36  
37      /**
38       * Gets the multithreaded client.
39       * 
40       * @return the multithreaded client
41       * @throws org.apache.commons.configuration.ConfigurationException
42       *             the configuration exception
43       */
44      public HttpClient getMultithreadedClient() throws ConfigurationException {
45          return CommunicationFactory.getInstance().configureClient(true);
46      }
47  
48      /**
49       * Gets the multithreaded client.
50       * 
51       * @param fileName
52       *            the file name
53       * @return the multithreaded client
54       * @throws org.apache.commons.configuration.ConfigurationException
55       *             the configuration exception
56       */
57      public HttpClient getMultithreadedClient(String fileName)
58              throws ConfigurationException {
59          return CommunicationFactory.getInstance().configureClient(true,
60                  fileName);
61      }
62  
63      /**
64       * Gets the singlethreaded client.
65       * 
66       * @return the singlethreaded client
67       * @throws org.apache.commons.configuration.ConfigurationException
68       *             the configuration exception
69       */
70      public HttpClient getSinglethreadedClient() throws ConfigurationException {
71          return CommunicationFactory.getInstance().configureClient(false);
72      }
73  
74      /**
75       * Gets the singlethreaded client.
76       * 
77       * @param fileName
78       *            the file name
79       * @return the singlethreaded client
80       * @throws org.apache.commons.configuration.ConfigurationException
81       *             the configuration exception
82       */
83      public HttpClient getSinglethreadedClient(String fileName)
84              throws ConfigurationException {
85          return CommunicationFactory.getInstance().configureClient(false,
86                  fileName);
87      }
88  
89      /**
90       * Shutdown communication.
91       */
92      public void shutdownCommunication() {
93          CommunicationFactory.getInstance().shutdown();
94      }
95  }