tdlight-java/src/main/java/it/tdlight/common/internal/CommonClientManager.java

31 lines
1.0 KiB
Java

package it.tdlight.common.internal;
import it.tdlight.common.ReactiveTelegramClient;
import it.tdlight.common.TelegramClient;
public abstract class CommonClientManager {
private static InternalClientManager getClientManager(String implementationName) {
// ClientManager is singleton
return InternalClientManager.get(implementationName);
}
public synchronized static TelegramClient create(String implementationName) {
InternalClient client = new InternalClient(getClientManager(implementationName));
return create(client);
}
public synchronized static ReactiveTelegramClient createReactive(String implementationName) {
InternalReactiveClient reactiveClient = new InternalReactiveClient(getClientManager(implementationName));
return createReactive(reactiveClient);
}
private static TelegramClient create(InternalClient internalClient) {
return internalClient;
}
private static ReactiveTelegramClient createReactive(InternalReactiveClient internalReactiveClient) {
return internalReactiveClient;
}
}