X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Ffcp%2FCommand.java;h=d0f812a054a4bbf33e6d67b267259ad3807e99c8;hp=2a083eefc6f05afcbab2e6ea5fc2fd533900c11c;hb=419098bcd6215125408b29e60bd888e60979d37b;hpb=2ed3a952a6756c0cc50dbe157b5454ec2ae8385a diff --git a/src/main/java/net/pterodactylus/sone/freenet/fcp/Command.java b/src/main/java/net/pterodactylus/sone/freenet/fcp/Command.java index 2a083ee..d0f812a 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/fcp/Command.java +++ b/src/main/java/net/pterodactylus/sone/freenet/fcp/Command.java @@ -1,5 +1,5 @@ /* - * Sone - Command.java - Copyright © 2011 David Roden + * Sone - Command.java - Copyright © 2011–2015 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -70,6 +70,9 @@ public interface Command { */ public static class Response { + /** The message name of the reponse. */ + private final String messageName; + /** The reply parameters. */ private final SimpleFieldSet replyParameters; @@ -82,40 +85,48 @@ public interface Command { /** * Creates a new reply with the given parameters. * + * @param messageName + * The message name * @param replyParameters * The reply parameters */ - public Response(SimpleFieldSet replyParameters) { - this(replyParameters, null, null); + public Response(String messageName, SimpleFieldSet replyParameters) { + this(messageName, replyParameters, null, null); } /** * Creates a new reply with the given parameters. * + * @param messageName + * The message name * @param replyParameters * The reply parameters * @param data * The data of the reply (may be {@code null}) */ - public Response(SimpleFieldSet replyParameters, byte[] data) { - this(replyParameters, data, null); + public Response(String messageName, SimpleFieldSet replyParameters, byte[] data) { + this(messageName, replyParameters, data, null); } /** * Creates a new reply with the given parameters. * + * @param messageName + * The message name * @param replyParameters * The reply parameters * @param bucket * The bucket of the reply (may be {@code null}) */ - public Response(SimpleFieldSet replyParameters, Bucket bucket) { - this(replyParameters, null, bucket); + public Response(String messageName, SimpleFieldSet replyParameters, Bucket bucket) { + this(messageName, replyParameters, null, bucket); } /** * Creates a new reply with the given parameters. * + * @param messageName + * The message name * @param replyParameters * The reply parameters * @param data @@ -123,7 +134,8 @@ public interface Command { * @param bucket * The bucket of the reply (may be {@code null}) */ - private Response(SimpleFieldSet replyParameters, byte[] data, Bucket bucket) { + private Response(String messageName, SimpleFieldSet replyParameters, byte[] data, Bucket bucket) { + this.messageName = messageName; this.replyParameters = replyParameters; this.data = data; this.bucket = bucket; @@ -135,7 +147,7 @@ public interface Command { * @return The reply parameters */ public SimpleFieldSet getReplyParameters() { - return replyParameters; + return new SimpleFieldSetBuilder(replyParameters).put("Message", messageName).get(); } /** @@ -194,7 +206,7 @@ public interface Command { * The error message */ public ErrorResponse(String message) { - super(new SimpleFieldSetBuilder().put("ErrorMessage", message).get()); + super("Error", new SimpleFieldSetBuilder().put("ErrorMessage", message).get()); } /** @@ -206,7 +218,7 @@ public interface Command { * The error message */ public ErrorResponse(int code, String message) { - super(new SimpleFieldSetBuilder().put("ErrorMessage", message).put("ErrorCode", code).get()); + super("Error", new SimpleFieldSetBuilder().put("ErrorMessage", message).put("ErrorCode", code).get()); } }