use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria;
use Org\Mxchange\CoreFramework\EntryPoint\ApplicationEntryPoint;
+// Import SPL stuff
+use \InvalidArgumentException;
+
/**
* A set of data storeable in databases
*
* @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2020 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2021 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
*
* @return void
*/
- protected function __construct () {
+ private function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
}
*
* @param $tableName Name of the table
* @return $criteriaInstance An instance of this criteria
+ * @throws InvalidArgumentException If a parameter is not valid
*/
public static final function createDataSetCriteria (string $tableName) {
+ // Validate parameter
+ if (empty($tableName)) {
+ // Throw IAE
+ throw new InvalidArgumentException('Parameter "tableName" is empty');
+ }
+
// Get a new instance
$criteriaInstance = new DataSetCriteria();
foreach ($primaryKeys as $primaryKey) {
// Add it
$return .= trim($this->getCriteriaElemnent($primaryKey));
- } // END - foreach
+ }
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DATA-SET-CRITERIA: tableName=' . $this->getTableName() . ',return=' . $return . ' - EXIT!');
if (empty($primaryKey)) {
// Get uniqueKey
$primaryKey = $this->getUniqueKey();
- } // END - if
+ }
// Return it
return $primaryKey;