2021-04-07 19:48:10 +02:00
|
|
|
package it.tdlight.common.internal;
|
|
|
|
|
|
|
|
import it.tdlight.common.ReactiveTelegramClient;
|
|
|
|
import it.tdlight.common.TelegramClient;
|
2020-10-13 02:02:24 +02:00
|
|
|
|
|
|
|
public abstract class CommonClientManager {
|
|
|
|
|
|
|
|
private static InternalClientManager getClientManager(String implementationName) {
|
2021-09-27 19:27:13 +02:00
|
|
|
// ClientManager is singleton
|
2020-10-13 02:02:24 +02:00
|
|
|
return InternalClientManager.get(implementationName);
|
|
|
|
}
|
|
|
|
|
2021-09-27 19:27:13 +02:00
|
|
|
public synchronized static TelegramClient create(String implementationName) {
|
2021-01-24 13:19:13 +01:00
|
|
|
InternalClient client = new InternalClient(getClientManager(implementationName));
|
2020-10-13 02:02:24 +02:00
|
|
|
return create(client);
|
|
|
|
}
|
|
|
|
|
2021-09-27 19:27:13 +02:00
|
|
|
public synchronized static ReactiveTelegramClient createReactive(String implementationName) {
|
2021-02-13 17:41:54 +01:00
|
|
|
InternalReactiveClient reactiveClient = new InternalReactiveClient(getClientManager(implementationName));
|
|
|
|
return createReactive(reactiveClient);
|
|
|
|
}
|
|
|
|
|
2020-10-13 02:02:24 +02:00
|
|
|
private static TelegramClient create(InternalClient internalClient) {
|
|
|
|
return internalClient;
|
|
|
|
}
|
2021-02-13 17:41:54 +01:00
|
|
|
|
|
|
|
private static ReactiveTelegramClient createReactive(InternalReactiveClient internalReactiveClient) {
|
|
|
|
return internalReactiveClient;
|
|
|
|
}
|
2020-10-13 02:02:24 +02:00
|
|
|
}
|