parser.addArgument("-o", "--output")
.help("Choose to output in plain text or JSON")
- .choices("plain-text", "json")
- .setDefault("plain-text");
+ .type(Arguments.enumStringType(OutputType.class))
+ .setDefault(OutputType.PLAIN_TEXT);
Subparsers subparsers = parser.addSubparsers().title("subcommands").dest("command");
--- /dev/null
+package org.asamk.signal;
+
+public enum OutputType {
+ PLAIN_TEXT {
+ @Override
+ public String toString() {
+ return "plain-text";
+ }
+ },
+ JSON {
+ @Override
+ public String toString() {
+ return "json";
+ }
+ },
+}
import org.asamk.signal.DbusConfig;
import org.asamk.signal.DbusReceiveMessageHandler;
import org.asamk.signal.JsonDbusReceiveMessageHandler;
+import org.asamk.signal.OutputType;
import org.asamk.signal.dbus.DbusSignalImpl;
import org.asamk.signal.manager.Manager;
import org.freedesktop.dbus.connections.impl.DBusConnection;
@Override
public int handleCommand(final Namespace ns, final Manager m) {
- boolean inJson = ns.getString("output").equals("json") || ns.getBoolean("json");
+ boolean inJson = ns.get("output") == OutputType.JSON || ns.getBoolean("json");
// TODO delete later when "json" variable is removed
if (ns.getBoolean("json")) {
@Override
public int handleCommand(final Namespace ns, final List<Manager> managers) {
- boolean inJson = ns.getString("output").equals("json") || ns.getBoolean("json");
+ boolean inJson = ns.get("output") == OutputType.JSON || ns.getBoolean("json");
// TODO delete later when "json" variable is removed
if (ns.getBoolean("json")) {
import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser;
+import org.asamk.signal.OutputType;
import org.asamk.signal.manager.Manager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
ObjectMapper jsonProcessor = new ObjectMapper();
jsonProcessor.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
- boolean inJson = ns.getString("output").equals("json") || ns.getBoolean("json");
+ boolean inJson = ns.get("output") == OutputType.JSON || ns.getBoolean("json");
// TODO delete later when "json" variable is removed
if (ns.getBoolean("json")) {
import net.sourceforge.argparse4j.inf.Namespace;
import net.sourceforge.argparse4j.inf.Subparser;
+import org.asamk.signal.OutputType;
import org.asamk.signal.manager.Manager;
import org.asamk.signal.manager.groups.GroupInviteLinkUrl;
import org.asamk.signal.manager.storage.groups.GroupInfo;
@Override
public int handleCommand(final Namespace ns, final Manager m) {
- if (ns.getString("output").equals("json")) {
+ if (ns.get("output") == OutputType.JSON) {
final ObjectMapper jsonProcessor = new ObjectMapper();
jsonProcessor.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
jsonProcessor.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
import org.asamk.Signal;
import org.asamk.signal.JsonReceiveMessageHandler;
+import org.asamk.signal.OutputType;
import org.asamk.signal.ReceiveMessageHandler;
import org.asamk.signal.json.JsonMessageEnvelope;
import org.asamk.signal.manager.Manager;
public int handleCommand(final Namespace ns, final Signal signal, DBusConnection dbusconnection) {
final ObjectMapper jsonProcessor;
- boolean inJson = ns.getString("output").equals("json") || ns.getBoolean("json");
+ boolean inJson = ns.get("output") == OutputType.JSON || ns.getBoolean("json");
// TODO delete later when "json" variable is removed
if (ns.getBoolean("json")) {
@Override
public int handleCommand(final Namespace ns, final Manager m) {
- boolean inJson = ns.getString("output").equals("json") || ns.getBoolean("json");
+ boolean inJson = ns.get("output") == OutputType.JSON || ns.getBoolean("json");
// TODO delete later when "json" variable is removed
if (ns.getBoolean("json")) {