Add advanced send
This commit is contained in:
parent
f96f17f14a
commit
33bc58bcb3
@ -20,6 +20,7 @@ import java.io.IOException;
|
|||||||
import java.io.UncheckedIOException;
|
import java.io.UncheckedIOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
@ -228,10 +229,31 @@ public final class SimpleTelegramClient implements Authenticable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a function and get the result
|
* Sends a request to TDLib and get the result.
|
||||||
|
*
|
||||||
|
* @param function The request to TDLib.
|
||||||
|
* @param resultHandler Result handler. If it is null, nothing will be called.
|
||||||
|
* @throws NullPointerException if function is null.
|
||||||
*/
|
*/
|
||||||
public <R extends TdApi.Object> void send(TdApi.Function<R> function, GenericResultHandler<R> resultHandler) {
|
public <R extends TdApi.Object> void send(TdApi.Function<R> function, GenericResultHandler<R> resultHandler) {
|
||||||
client.send(function, result -> resultHandler.onResult(Result.of(result)), this::handleResultHandlingException);
|
this.send(function, resultHandler, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a request to TDLib and get the result.
|
||||||
|
*
|
||||||
|
* @param function The request to TDLib.
|
||||||
|
* @param resultHandler Result handler. If it is null, nothing will be called.
|
||||||
|
* @param resultHandlerExceptionHandler Handle exceptions thrown inside the result handler.
|
||||||
|
* If it is null, the default exception handler will be called.
|
||||||
|
* @throws NullPointerException if function is null.
|
||||||
|
*/
|
||||||
|
public <R extends TdApi.Object> void send(TdApi.Function<R> function, GenericResultHandler<R> resultHandler,
|
||||||
|
ExceptionHandler resultHandlerExceptionHandler) {
|
||||||
|
client.send(function,
|
||||||
|
result -> resultHandler.onResult(Result.of(result)),
|
||||||
|
Objects.requireNonNullElse(resultHandlerExceptionHandler, this::handleResultHandlingException)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user