- if (ns.getBoolean("json")) {
- List<JsonIsRegistered> objects = new ArrayList<>();
- for (Map.Entry<String, Boolean> entry : registered.entrySet()) {
- objects.add(new JsonIsRegistered(entry.getKey(), entry.getValue()));
+ 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);