]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientTrustedResolver.java
598ef791f8dd8618faa50c8944d1fd8a3e43541b
[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.ACI;
4 import org.whispersystems.signalservice.api.push.ServiceId.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(RecipientAddress address);
15
16 RecipientId resolveRecipientTrusted(SignalServiceAddress address);
17
18 RecipientId resolveRecipientTrusted(Optional<ACI> aci, Optional<PNI> pni, Optional<String> number);
19
20 RecipientId resolveRecipientTrusted(ACI aci, String username);
21
22 class RecipientTrustedResolverWrapper implements RecipientTrustedResolver {
23
24 private final Supplier<RecipientTrustedResolver> recipientTrustedResolverSupplier;
25
26 public RecipientTrustedResolverWrapper(final Supplier<RecipientTrustedResolver> recipientTrustedResolverSupplier) {
27 this.recipientTrustedResolverSupplier = recipientTrustedResolverSupplier;
28 }
29
30 @Override
31 public RecipientId resolveSelfRecipientTrusted(final RecipientAddress address) {
32 return recipientTrustedResolverSupplier.get().resolveSelfRecipientTrusted(address);
33 }
34
35 @Override
36 public RecipientId resolveRecipientTrusted(final RecipientAddress address) {
37 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(address);
38 }
39
40 @Override
41 public RecipientId resolveRecipientTrusted(final SignalServiceAddress address) {
42 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(address);
43 }
44
45 @Override
46 public RecipientId resolveRecipientTrusted(
47 final Optional<ACI> aci, final Optional<PNI> pni, final Optional<String> number
48 ) {
49 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(aci, pni, number);
50 }
51
52 @Override
53 public RecipientId resolveRecipientTrusted(final ACI aci, final String username) {
54 return recipientTrustedResolverSupplier.get().resolveRecipientTrusted(aci, username);
55 }
56 }
57 }