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