From a6b67158dc49c71f46bd2da9b83254fd44655f14 Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Wed, 30 Mar 2011 14:54:37 +0100 Subject: Made Server a singleton, accessible by Bukkit.getServer(). --- src/main/java/org/bukkit/Bukkit.java | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/org/bukkit/Bukkit.java diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java new file mode 100644 index 00000000..18c03f36 --- /dev/null +++ b/src/main/java/org/bukkit/Bukkit.java @@ -0,0 +1,39 @@ + +package org.bukkit; + +/** + * Represents the Bukkit core, for version and Server singleton handling + */ +public final class Bukkit { + private static Server server; + + /** + * Static class cannot be initialized. + */ + private Bukkit() { + } + + /** + * Gets the current {@link Server} singleton + * + * @return Server instance being ran + */ + public static Server getServer() { + return server; + } + + /** + * Attempts to set the {@link Server} singleton. + * + * This cannot be done if the Server is already set. + * + * @param server Server instance + */ + public static void setServer(Server server) { + if (Bukkit.server != null) { + throw new UnsupportedOperationException("Cannot redelcare singleton Server"); + } + + Bukkit.server = server; + } +} -- cgit v1.2.3