From 53aca71a0f7aa4d7b645e9715c94f29ea5ce580f Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Mon, 11 Apr 2011 11:21:55 +0200 Subject: [PATCH] Add parameter that determines whether an FCP command requires write access. --- .../sone/fcp/AbstractSoneCommand.java | 27 ++++++++++++++++++++++ .../net/pterodactylus/sone/fcp/VersionCommand.java | 14 +++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/pterodactylus/sone/fcp/AbstractSoneCommand.java b/src/main/java/net/pterodactylus/sone/fcp/AbstractSoneCommand.java index 87a76e2..ed5aca8 100644 --- a/src/main/java/net/pterodactylus/sone/fcp/AbstractSoneCommand.java +++ b/src/main/java/net/pterodactylus/sone/fcp/AbstractSoneCommand.java @@ -44,6 +44,9 @@ public abstract class AbstractSoneCommand extends AbstractCommand { /** The Sone core. */ private final Core core; + /** Whether this command needs write access. */ + private final boolean writeAccess; + /** * Creates a new abstract Sone FCP command. * @@ -51,7 +54,21 @@ public abstract class AbstractSoneCommand extends AbstractCommand { * The Sone core */ protected AbstractSoneCommand(Core core) { + this(core, false); + } + + /** + * Creates a new abstract Sone FCP command. + * + * @param core + * The Sone core + * @param writeAccess + * {@code true} if this command requires write access, + * {@code false} otherwise + */ + protected AbstractSoneCommand(Core core, boolean writeAccess) { this.core = core; + this.writeAccess = writeAccess; } // @@ -67,6 +84,16 @@ public abstract class AbstractSoneCommand extends AbstractCommand { return core; } + /** + * Returns whether this command requires write access. + * + * @return {@code true} if this command require write access, {@code false} + * otherwise + */ + public boolean requiresWriteAccess() { + return writeAccess; + } + // // PROTECTED METHODS // diff --git a/src/main/java/net/pterodactylus/sone/fcp/VersionCommand.java b/src/main/java/net/pterodactylus/sone/fcp/VersionCommand.java index 6817476..1e135b5 100644 --- a/src/main/java/net/pterodactylus/sone/fcp/VersionCommand.java +++ b/src/main/java/net/pterodactylus/sone/fcp/VersionCommand.java @@ -17,8 +17,8 @@ package net.pterodactylus.sone.fcp; +import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.freenet.SimpleFieldSetBuilder; -import net.pterodactylus.sone.freenet.fcp.Command; import net.pterodactylus.sone.main.SonePlugin; import freenet.support.SimpleFieldSet; import freenet.support.api.Bucket; @@ -28,7 +28,17 @@ import freenet.support.api.Bucket; * * @author David ‘Bombe’ Roden */ -public class VersionCommand implements Command { +public class VersionCommand extends AbstractSoneCommand { + + /** + * Creates a new “Version” FCP command. + * + * @param core + * The Sone core + */ + protected VersionCommand(Core core) { + super(core); + } /** * {@inheritDoc} -- 2.7.4