/**
* Copyright 2013-2015 Seagate Technology LLC.
*
* This Source Code Form is subject to the terms of the Mozilla
* Public License, v. 2.0. If a copy of the MPL was not
* distributed with this file, You can obtain one at
* https://mozilla.org/MP:/2.0/.
*
* This program is distributed in the hope that it will be useful,
* but is provided AS-IS, WITHOUT ANY WARRANTY; including without
* the implied warranty of MERCHANTABILITY, NON-INFRINGEMENT or
* FITNESS FOR A PARTICULAR PURPOSE. See the Mozilla Public
* License for more details.
*
* See www.openkinetic.org for more project information
*/
package kinetic.client;
import com.seagate.kinetic.client.internal.DefaultKineticClient;
/**
* Kinetic client boot-strap interface. This is the starting point for the
* Kinetic applications.
* <p>
* This factory class provides a static factory method to construct new
* instances of <code>KineticClient</code>.
* <p>
* Kinetic applications construct a new instance of <code>ClientConfiguration</code>
* and set appropriate configurations (such as server host/port) to the
* configuration instance. Applications then invoke the static createInstance
* method to obtain a new instance of KineticClient.
*
* @see KineticClient
* @see ClientConfiguration
*
* @author Chiaming Yang
*
*/
public class KineticClientFactory {
/**
* Construct a new instance of the <code>KineticClient</code>.
*
* @param config
* client configuration used to create new instance.
* @return a new KineticClient instance that is connected to the server.
*
* @throws KineticException
* if any internal errors occur.
*/
public static KineticClient createInstance(ClientConfiguration config)
throws KineticException {
return new DefaultKineticClient(config);
}
}