001 /**
002 * Copyright 2008 Mike Kroutikov.
003 *
004 * This program is free software; you can redistribute it and/or modify
005 * it under the terms of the Lesser GNU General Public License as
006 * published by the Free Software Foundation; either version 3 of
007 * the License, or (at your option) any later version.
008 *
009 * This program is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012 * Lesser GNU General Public License for more details.
013 *
014 * You should have received a copy of the Lesser GNU General Public License
015 * along with this program. If not, see <http://www.gnu.org/licenses/>.
016 */
017 package org.otfeed.support.alt;
018
019 import org.otfeed.OTConnectionSpec;
020 import org.otfeed.OTException;
021
022 /**
023 * Factory of synchronous connections to the Opentick server.
024 */
025 public interface IOutboundConnectionFactory {
026
027 /**
028 * Opens a connection to the server, using provided connection parameters.
029 *
030 * @param spec connection parameters. Null may be acceptable (see docs
031 * of implementing classes).
032 * @return connection object.
033 * @throws OTException if something goes wrong.
034 */
035 public IOutboundConnection getConnection(OTConnectionSpec spec) throws OTException;
036
037 }