extensions/net.sf.basedb.xfiles/trunk/src/net/sf/basedb/xfiles/ftp/FtpConnectionManagerFactory.java

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