X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Ffcp%2FAbstractCommand.java;h=3ea4804b3100fc2b44c875f984ffa28ad2dd871c;hp=8c155e58a7b1d4a153d22a82012aacb367c55b3f;hb=179e7da4d8d8a474d0b622d60b5f5d32d6ab4052;hpb=563f8b891e518a9b54396c8ef83aab9d51192c59 diff --git a/src/main/java/net/pterodactylus/sone/freenet/fcp/AbstractCommand.java b/src/main/java/net/pterodactylus/sone/freenet/fcp/AbstractCommand.java index 8c155e5..3ea4804 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/fcp/AbstractCommand.java +++ b/src/main/java/net/pterodactylus/sone/freenet/fcp/AbstractCommand.java @@ -1,5 +1,5 @@ /* - * Sone - AbstractCommand.java - Copyright © 2011 David Roden + * Sone - AbstractCommand.java - Copyright © 2011–2019 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 @@ -23,8 +23,6 @@ import freenet.support.SimpleFieldSet; /** * Basic implementation of a {@link Command} with various helper methods to * simplify processing of input parameters. - * - * @author David ‘Bombe’ Roden */ public abstract class AbstractCommand implements Command { @@ -44,7 +42,7 @@ public abstract class AbstractCommand implements Command { * if there is no value for the given key in the simple field * set, or the value can not be converted to a String */ - protected String getString(SimpleFieldSet simpleFieldSet, String key) throws FcpException { + protected static String getString(SimpleFieldSet simpleFieldSet, String key) throws FcpException { try { return simpleFieldSet.getString(key); } catch (FSParseException fspe1) { @@ -52,4 +50,76 @@ public abstract class AbstractCommand implements Command { } } + /** + * Returns an int value from the given simple field set. + * + * @param simpleFieldSet + * The simple field set to get the value from + * @param key + * The key of the value + * @return The int value + * @throws FcpException + * if there is no value for the given key in the simple field + * set, or the value can not be converted to an int + */ + protected static int getInt(SimpleFieldSet simpleFieldSet, String key) throws FcpException { + try { + return simpleFieldSet.getInt(key); + } catch (FSParseException fspe1) { + throw new FcpException("Could not get parameter “" + key + "” as int.", fspe1); + } + } + + /** + * Returns an int value from the given simple field set, returning a default + * value if the value can not be found or converted. + * + * @param simpleFieldSet + * The simple field set to get the value from + * @param key + * The key of the value + * @param defaultValue + * The default value + * @return The int value + */ + protected static int getInt(SimpleFieldSet simpleFieldSet, String key, int defaultValue) { + return simpleFieldSet.getInt(key, defaultValue); + } + + /** + * Returns a boolean value from the given simple field set. + * + * @param simpleFieldSet + * The simple field set to get the value from + * @param key + * The key of the value + * @return The boolean value + * @throws FcpException + * if there is no value for the given key in the simple field + * set, or the value can not be converted to a boolean + */ + protected static boolean getBoolean(SimpleFieldSet simpleFieldSet, String key) throws FcpException { + try { + return simpleFieldSet.getBoolean(key); + } catch (FSParseException fspe1) { + throw new FcpException("Could not get parameter “" + key + "” as boolean.", fspe1); + } + } + + /** + * Returns a boolean value from the given simple field set, returning a + * default value if the value can not be found or converted. + * + * @param simpleFieldSet + * The simple field set to get the value from + * @param key + * The key of the value + * @param defaultValue + * The default value + * @return The boolean value + */ + protected static boolean getBoolean(SimpleFieldSet simpleFieldSet, String key, boolean defaultValue) { + return simpleFieldSet.getBoolean(key, defaultValue); + } + }