]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/commands/ListContactsCommand.java
Refactor output writers
[signal-cli] / src / main / java / org / asamk / signal / commands / ListContactsCommand.java
1 package org.asamk.signal.commands;
2
3 import net.sourceforge.argparse4j.inf.Namespace;
4 import net.sourceforge.argparse4j.inf.Subparser;
5
6 import org.asamk.signal.OutputWriter;
7 import org.asamk.signal.PlainTextWriterImpl;
8 import org.asamk.signal.manager.Manager;
9
10 import static org.asamk.signal.util.Util.getLegacyIdentifier;
11
12 public class ListContactsCommand implements LocalCommand {
13
14 private final OutputWriter outputWriter;
15
16 public ListContactsCommand(final OutputWriter outputWriter) {
17 this.outputWriter = outputWriter;
18 }
19
20 public static void attachToSubparser(final Subparser subparser) {
21 subparser.help("Show a list of known contacts with names.");
22 }
23
24 @Override
25 public void handleCommand(final Namespace ns, final Manager m) {
26 final var writer = (PlainTextWriterImpl) outputWriter;
27
28 var contacts = m.getContacts();
29 for (var c : contacts) {
30 writer.println("Number: {} Name: {} Blocked: {}",
31 getLegacyIdentifier(m.resolveSignalServiceAddress(c.first())),
32 c.second().getName(),
33 c.second().isBlocked());
34 }
35 }
36 }