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