package org.springframework.cloud.service; import javax.sql.DataSource; import org.springframework.cloud.service.common.MysqlServiceInfo; /** * * @author Ramnivas Laddad * * @param <SC> service connector type * @param <SI> service info type */ public interface ServiceConnectorCreator<SC, SI extends ServiceInfo> { /** * Create service for the given service info and configured with the given * configuration * * @param serviceInfo the {@link ServiceInfo} object containing the information necessary to connect to the service * @param serviceConnectorConfig configuration information to be applied to the connection * @return service connector */ SC create(SI serviceInfo, ServiceConnectorConfig serviceConnectorConfig); /** * Get the type of connector created (such as {@link DataSource}) * * @return service connector type */ Class<SC> getServiceConnectorType(); /** * Get the service info type this creator can work with (such as {@link MysqlServiceInfo}) * * @return service info type */ Class<?> getServiceInfoType(); }