summaryrefslogtreecommitdiffstats
path: root/EssentialsUpdate/src/f00f/net/irc/martyr/commands/AbstractCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsUpdate/src/f00f/net/irc/martyr/commands/AbstractCommand.java')
-rw-r--r--EssentialsUpdate/src/f00f/net/irc/martyr/commands/AbstractCommand.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/EssentialsUpdate/src/f00f/net/irc/martyr/commands/AbstractCommand.java b/EssentialsUpdate/src/f00f/net/irc/martyr/commands/AbstractCommand.java
new file mode 100644
index 000000000..a3e3ef2c2
--- /dev/null
+++ b/EssentialsUpdate/src/f00f/net/irc/martyr/commands/AbstractCommand.java
@@ -0,0 +1,32 @@
+package f00f.net.irc.martyr.commands;
+
+import f00f.net.irc.martyr.OutCommand;
+
+/**
+ * Defines a generic command. Most commands will simply have to
+ * override the getIrcIdentifier method and implement the parse and
+ * render methods using convenience methods.
+ */
+public abstract class AbstractCommand extends AbstractInCommand implements OutCommand
+{
+
+ /**
+ * Forms a string appropriate to send to the server. All commands can
+ * be sent by the client.
+ */
+ public String render()
+ {
+ // no prefix, since we are sending as a client.
+ return getIrcIdentifier() + " " + renderParams();
+ }
+
+ /**
+ * Renders the parameters of this command.
+ *
+ * @return String of rendered parameters
+ */
+ public abstract String renderParams();
+
+}
+
+