/**
* A general DHT state class
*
- * @author Roland Haeder <webmaster@ship-simu.org>
+ * @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Hub Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team
* @license GNU GPL 3.0 or any newer version
- * @link http://www.ship-simu.org
+ * @link http://www.shipsimu.org
+ * @todo Create generic DHT interface
*
* 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
// Call parent constructor
parent::__construct($className);
}
+
+ /**
+ * Validates whether the DHT state is 'virgin' or throws an exception if it
+ * is every other state.
+ *
+ * @return void
+ * @throws InvalidStateException If the state is not 'virgin'
+ */
+ public function validateDhtStateIsVirginOrInit () {
+ // Just compare it...
+ if ((!$this instanceof DhtVirginState) && (!$this instanceof DhtInitState)) {
+ // Throw the exception
+ throw new InvalidStateException($this, self::EXCEPTION_INVALID_STATE);
+ } // END - if
+ }
+
+ /**
+ * Checks whether the DHT's state is 'booting' by comparing it with the
+ * state's class name.
+ *
+ * @return $isBooting Whether this DHT's state is 'booting'
+ */
+ public function ifDhtIsBooting () {
+ // Check state
+ $isBooting = ($this instanceof DhtBootingState);
+
+ // Return status
+ return $isBooting;
+ }
}
// [EOF]