]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientTrustedResolver.java
54e5d5d15bdd68f6b7475e1e6d0bdb8fe1955364
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / storage / recipients / RecipientTrustedResolver.java
1 package org.asamk.signal.manager.storage.recipients;
2
3 import org.whispersystems.signalservice.api.push.ServiceId;
4 import org.whispersystems.signalservice.api.push.ServiceId.ACI;
5 import org.whispersystems.signalservice.api.push.ServiceId.PNI;
6 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
7
8 import java.util.Optional;
9 import java.util.function.Supplier;
10
11 public interface RecipientTrustedResolver {
12
13 RecipientId resolveSelfRecipientTrusted(RecipientAddress address);
14
15 RecipientId resolveRecipientTrusted(SignalServiceAddress address);
16
17 RecipientId resolveRecipientTrusted(Optional<ACI> aci, Optional<PNI> pni, Optional<String> number);
18
19 RecipientId resolveRecipientTrusted(ServiceId serviceId, String username);
20
21 class RecipientTrustedResolverWrapper implements RecipientTrustedResolver {
22
23 private final Supplier<RecipientTrustedResolver> recipientTrustedResolverSupplier;
24
25 public RecipientTrustedResolverWrapper(final Supplier<RecipientTrustedResolver> recipientTrustedResolverSupplier) {
26 this.recipientTrustedResolverSupplier = recipientTrustedResolverSupplier;
27 }
28
29 @Override
30 public RecipientId resolveSelfRecipientTrusted(final RecipientAddress address) {
31 return recipientTrustedResolverSupplier.get().resolveSelfRecipientTrusted(address);
32 }
33
34 @Override
35 public RecipientId resolveRecipientTrusted(final SignalServiceAddress address) {
36 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(address);
37 }
38
39 @Override
40 public RecipientId resolveRecipientTrusted(
41 final Optional<ACI> aci, final Optional<PNI> pni, final Optional<String> number
42 ) {
43 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(aci, pni, number);
44 }
45
46 @Override
47 public RecipientId resolveRecipientTrusted(final ServiceId serviceId, final String username) {
48 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(serviceId, username);
49 }
50 }
51 }