package org.mafagafogigante.dungeon.io; import org.mafagafogigante.dungeon.logging.DungeonLogger; /** * Sleeper class that handles Thread sleeping. */ public final class Sleeper { private static final int MILLISECONDS_IN_MINUTE = 60000; private Sleeper() { throw new AssertionError(); } /** * Sleeps for a specified amount of milliseconds. * * @param milliseconds how many milliseconds should this thread sleep for, between 1 and 60000 */ public static void sleep(long milliseconds) { if (milliseconds <= 0) { DungeonLogger.warning("Tried to sleep a nonpositive amount of milliseconds."); } else if (milliseconds > MILLISECONDS_IN_MINUTE) { DungeonLogger.warning("Tried to sleep for more than a minute."); } else { // If milliseconds is in range, sleep. try { Thread.sleep(milliseconds); } catch (InterruptedException logged) { DungeonLogger.warning("Sleeper was interrupted."); } } } }