- if (ns.getBoolean("json")) {
- List<JsonIsRegistered> objects = registered.entrySet()
- .stream()
- .map(entry -> new JsonIsRegistered(entry.getKey(), entry.getValue()))
- .collect(Collectors.toList());
-
- try {
- jsonProcessor.writeValue(System.out, objects);
- System.out.println();
- } catch (IOException e) {
- System.err.println(e.getMessage());
+ switch (outputWriter) {
+ case JsonWriter writer -> {
+ var jsonUserStatuses = Stream.concat(registered.entrySet().stream().map(entry -> {
+ final var number = entry.getValue().number();
+ final var uuid = entry.getValue().uuid();
+ return new JsonUserStatus(entry.getKey(),
+ number,
+ null,
+ uuid == null ? null : uuid.toString(),
+ uuid != null);
+ }), registeredUsernames.entrySet().stream().map(entry -> {
+ final var username = entry.getValue().username();
+ final var uuid = entry.getValue().uuid();
+ return new JsonUserStatus(entry.getKey(),
+ null,
+ username,
+ uuid == null ? null : uuid.toString(),
+ uuid != null);
+ })).toList();
+ writer.write(jsonUserStatuses);