01: package br.com.igor.proxy.http;
02:
03: /**
04: * Uma classe simples para funcionar como "fábrica" de
05: * objetos HttpClientGA, visando isolar o desenvolvedor
06: * do conhecimento sobre a implementação real utilizada.
07: */
08: public final class HttpClientFactory {
09:
10: private HttpClientFactory() {
11: //no instances allowed
12: }
13:
14: public static GeneralHttpClient getInstance() {
15: return getDefaultInstance();
16: }
17:
18: /**
19: *
20: * @param tipo uma string que identifica o fornecedor da implementacao
21: * @return uma instancia de um objeto #HttpClientGA
22: */
23: public static GeneralHttpClient getInstance(String tipo) {
24: // Atualmente criamos uma instância de de
25: // HttpClientGADefault
26: // podemos, no futuro, utilizar outras
27: // implementações, definidas por 'tipo'
28: return getDefaultInstance();
29: }
30:
31: private static GeneralHttpClient getDefaultInstance() {
32: return new HttpClientDefault();
33: }
34:
35: }
|