src/core/net/sf/basedb/util/uri/http/HttpConnectionManagerFactory.java

Code
Comments
Other
Rev Date Author Line
5582 15 Mar 11 nicklas 1 /**
5582 15 Mar 11 nicklas 2   $Id$
5582 15 Mar 11 nicklas 3
5582 15 Mar 11 nicklas 4   Copyright (C) 2011 Nicklas Nordborg
5582 15 Mar 11 nicklas 5
5582 15 Mar 11 nicklas 6   This file is part of BASE - BioArray Software Environment.
5582 15 Mar 11 nicklas 7   Available at http://base.thep.lu.se/
5582 15 Mar 11 nicklas 8
5582 15 Mar 11 nicklas 9   BASE is free software; you can redistribute it and/or
5582 15 Mar 11 nicklas 10   modify it under the terms of the GNU General Public License
5582 15 Mar 11 nicklas 11   as published by the Free Software Foundation; either version 3
5582 15 Mar 11 nicklas 12   of the License, or (at your option) any later version.
5582 15 Mar 11 nicklas 13
5582 15 Mar 11 nicklas 14   BASE is distributed in the hope that it will be useful,
5582 15 Mar 11 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
5582 15 Mar 11 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5582 15 Mar 11 nicklas 17   GNU General Public License for more details.
5582 15 Mar 11 nicklas 18
5582 15 Mar 11 nicklas 19   You should have received a copy of the GNU General Public License
5582 15 Mar 11 nicklas 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5582 15 Mar 11 nicklas 21 */
5582 15 Mar 11 nicklas 22 package net.sf.basedb.util.uri.http;
5582 15 Mar 11 nicklas 23
5582 15 Mar 11 nicklas 24 import java.net.URI;
5582 15 Mar 11 nicklas 25
5582 15 Mar 11 nicklas 26 import net.sf.basedb.util.uri.ConnectionParameters;
5582 15 Mar 11 nicklas 27 import net.sf.basedb.util.uri.ConnectionManager;
5582 15 Mar 11 nicklas 28 import net.sf.basedb.util.uri.ConnectionManagerFactory;
5582 15 Mar 11 nicklas 29
5582 15 Mar 11 nicklas 30 /**
5599 31 Mar 11 nicklas 31   Connection manager factory for HTTP and HTTPS URI:s. Auto-detection
5599 31 Mar 11 nicklas 32   is supported for "http" and "https" URI:s. 
5582 15 Mar 11 nicklas 33   
5582 15 Mar 11 nicklas 34   @author Nicklas
5582 15 Mar 11 nicklas 35   @since 3.0
5582 15 Mar 11 nicklas 36   @base.modified $Date$
5582 15 Mar 11 nicklas 37   @see HttpConnectionManager
5582 15 Mar 11 nicklas 38 */
5582 15 Mar 11 nicklas 39 public class HttpConnectionManagerFactory
5582 15 Mar 11 nicklas 40   implements ConnectionManagerFactory
5582 15 Mar 11 nicklas 41 {
5582 15 Mar 11 nicklas 42
5599 31 Mar 11 nicklas 43   private String id;
5599 31 Mar 11 nicklas 44   private String name;
5599 31 Mar 11 nicklas 45   private String description;
5582 15 Mar 11 nicklas 46   
5599 31 Mar 11 nicklas 47   /**
5599 31 Mar 11 nicklas 48     Create a new http connection manager factory.
5599 31 Mar 11 nicklas 49   */
5582 15 Mar 11 nicklas 50   public HttpConnectionManagerFactory()
5582 15 Mar 11 nicklas 51   {}
5582 15 Mar 11 nicklas 52   
5582 15 Mar 11 nicklas 53   /*
5582 15 Mar 11 nicklas 54     From the ConnectionManagerFactory interface
5582 15 Mar 11 nicklas 55     -------------------------------------------
5582 15 Mar 11 nicklas 56   */
5582 15 Mar 11 nicklas 57   @Override
5582 15 Mar 11 nicklas 58   public String getId()
5582 15 Mar 11 nicklas 59   {
5599 31 Mar 11 nicklas 60     return id;
5582 15 Mar 11 nicklas 61   }
5582 15 Mar 11 nicklas 62
5582 15 Mar 11 nicklas 63   @Override
5582 15 Mar 11 nicklas 64   public String getDisplayName()
5582 15 Mar 11 nicklas 65   {
5599 31 Mar 11 nicklas 66     return name;
5582 15 Mar 11 nicklas 67   }
5582 15 Mar 11 nicklas 68
5582 15 Mar 11 nicklas 69   @Override
5582 15 Mar 11 nicklas 70   public String getDescription()
5582 15 Mar 11 nicklas 71   {
5599 31 Mar 11 nicklas 72     return description;
5582 15 Mar 11 nicklas 73   }
5599 31 Mar 11 nicklas 74   
5582 15 Mar 11 nicklas 75   @Override
5582 15 Mar 11 nicklas 76   public boolean useAutoDetection()
5582 15 Mar 11 nicklas 77   {
5582 15 Mar 11 nicklas 78     return true;
5582 15 Mar 11 nicklas 79   }
5582 15 Mar 11 nicklas 80   
5582 15 Mar 11 nicklas 81   @Override
5582 15 Mar 11 nicklas 82   public boolean supports(URI uri)
5582 15 Mar 11 nicklas 83   {
5582 15 Mar 11 nicklas 84     if (uri == null) throw new NullPointerException("uri");
5582 15 Mar 11 nicklas 85     String scheme = uri.getScheme();
5582 15 Mar 11 nicklas 86     return "http".equals(scheme) || "https".equals(scheme);
5582 15 Mar 11 nicklas 87   }
5582 15 Mar 11 nicklas 88   
5582 15 Mar 11 nicklas 89   @Override
5582 15 Mar 11 nicklas 90   public ConnectionManager createConnectionManager(URI uri, ConnectionParameters parameters)
5582 15 Mar 11 nicklas 91   {
5582 15 Mar 11 nicklas 92     return new HttpConnectionManager(uri, parameters);
5582 15 Mar 11 nicklas 93   }
5582 15 Mar 11 nicklas 94   // --------------------------------------------
5582 15 Mar 11 nicklas 95
5599 31 Mar 11 nicklas 96   /**
5599 31 Mar 11 nicklas 97     Initialize this factory with some information.
5599 31 Mar 11 nicklas 98   */
5599 31 Mar 11 nicklas 99   public void init(String id, String name, String description)
5599 31 Mar 11 nicklas 100   {
5599 31 Mar 11 nicklas 101     this.id = id;
5599 31 Mar 11 nicklas 102     this.name = name;
5599 31 Mar 11 nicklas 103     this.description = description;
5599 31 Mar 11 nicklas 104   }
5599 31 Mar 11 nicklas 105   
5582 15 Mar 11 nicklas 106 }