All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ikasoa.rpc.IkasoaFactory Maven / Gradle / Ivy

There is a newer version: 0.3.3-BETA3
Show newest version
package com.ikasoa.rpc;

import java.util.List;
import java.util.Map;

import com.ikasoa.core.loadbalance.LoadBalance;
import com.ikasoa.core.loadbalance.ServerInfo;
import com.ikasoa.core.thrift.Factory;
import com.ikasoa.core.thrift.service.Service;

/**
 * IKASOA工厂接口
 * 
 * @author Larry
 * @version 0.1
 */
public interface IkasoaFactory extends Factory {

	/**
	 * 获取IKASOA接口实例
	 * 
	 * @param 
	 *            接口类型
	 * @param iClass
	 *            应用接口类
	 * @return T IKASOA接口实例
	 */
	 T getInstance(Class iClass);

	/**
	 * 获取IKASOA接口实例
	 * 
	 * @param 
	 *            接口类型
	 * @param iClass
	 *            应用接口类
	 * @param serverInfoWrapper
	 *            服务信息包装器
	 * @return T IKASOA接口实例
	 */
	 T getInstance(Class iClass, ServerInfoWrapper serverInfoWrapper);

	/**
	 * 获取IKASOA接口实例
	 * 
	 * @param 
	 *            接口类型
	 * @param iClass
	 *            应用接口类
	 * @param serverHost
	 *            服务地址
	 * @param serverPort
	 *            服务端口
	 * @return T IKASOA接口实例
	 */
	@Deprecated
	 T getIkasoaClient(Class iClass, String serverHost, int serverPort);

	/**
	 * 获取IKASOA接口实例
	 * 
	 * @param 
	 *            接口类型
	 * @param iClass
	 *            应用接口类
	 * @param serverInfoList
	 *            服务信息列表(将会通过默认负载均衡策略进行调用)
	 * @return T IKASOA接口实例
	 */
	@Deprecated
	 T getIkasoaClient(Class iClass, List serverInfoList);

	/**
	 * 获取IKASOA接口实例
	 * 
	 * @param 
	 *            接口类型
	 * @param iClass
	 *            应用接口类
	 * @param serverInfoList
	 *            服务信息列表(将会通过默认负载均衡策略进行调用)
	 * @param loadBalanceClass
	 *            负载均衡实现类
	 * @return T IKASOA接口实例
	 */
	@Deprecated
	 T getIkasoaClient(Class iClass, List serverInfoList, Class loadBalanceClass);

	/**
	 * 获取IKASOA接口实例
	 * 
	 * @param 
	 *            接口类型
	 * @param iClass
	 *            应用接口类
	 * @param serverInfoList
	 *            服务信息列表(将会通过默认负载均衡策略进行调用)
	 * @param loadBalanceClass
	 *            负载均衡实现类
	 * @param param
	 *            自定义参数 (比如负载均衡的hash值等)
	 * @return T IKASOA接口实例
	 */
	@Deprecated
	 T getIkasoaClient(Class iClass, List serverInfoList, Class loadBalanceClass,
			String param);

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param implClass
	 *            应用接口实现类
	 * @param serverPort
	 *            服务端口
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(Class implClass, int serverPort) throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param serverName
	 *            服务名称
	 * @param implClass
	 *            应用接口实现类
	 * @param serverPort
	 *            服务端口
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(String serverName, Class implClass, int serverPort) throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param implWrapper
	 *            接口实现对象包装器
	 * @param serverPort
	 *            服务端口
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(ImplWrapper implWrapper, int serverPort) throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param serverName
	 *            服务名称
	 * @param implWrapper
	 *            接口实现对象包装器
	 * @param serverPort
	 *            服务端口
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(String serverName, ImplWrapper implWrapper, int serverPort) throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param implWrapperList
	 *            接口实现对象包装器
	 * @param serverPort
	 *            服务端口
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(List implWrapperList, int serverPort) throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param serverName
	 *            服务名称
	 * @param implWrapperList
	 *            接口实现对象包装器
	 * @param serverPort
	 *            服务端口
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(String serverName, List implWrapperList, int serverPort)
			throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param serverPort
	 *            服务端口
	 * @param serviceMap
	 *            服务Map
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(int serverPort, Map serviceMap) throws RpcException;

	/**
	 * 获取IKASOA服务端
	 * 
	 * @param serverName
	 *            服务名称
	 * @param serverPort
	 *            服务端口
	 * @param serviceMap
	 *            服务Map
	 * @return IkasoaServer IKASOA服务端
	 * @exception RpcException
	 *                异常
	 */
	IkasoaServer getIkasoaServer(String serverName, int serverPort, Map serviceMap)
			throws RpcException;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy