* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * * 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 * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ interface Register extends FrameworkInterface { /** * Checks whether an instance key was found * * @param $instanceKey The key holding an instance in registry * @return $exists Whether the key exists in registry */ function instanceExists ($instanceKey); /** * Adds/overwrites a new instance to the registry at the given key * * @param $instanceKey The key to identify the instance * @param $objectInstance An instance we shall store * @return void */ function addInstance ($instanceKey, Registerable $objectInstance); /** * Getter for whole generic registry * * @return $instanceRegistry The whole generic registry array */ function getGenericRegistry (); /** * Getter for whole instance registry * * @return $instanceRegistry The whole instance registry array */ function getInstanceRegistry (); /** * Adds a new entry to the given list name. If you want to add objects * please use addInstance() and getInstance() instead. * * @param $key The key to identify the whole list * @param $value The value to be stored * @return void */ function addEntry ($key, $value); /** * Getter for entries or "sub entries" * * @return $entries An array with entries from this registry */ function getEntries ($key = NULL); /** * "Getter" for an array of all entries for given key * * @param $arrayKey The array (key) to look in * @param $lookFor The key to look for * @return $entry An array with all keys */ function getArrayFromKey ($arrayKey, $lookFor); /** * Gets a registered instance or null if not found * * @param $instanceKey The key to identify the instance * @return $objectInstance An instance we shall store * @throws NullPointerException If the requested key is not found */ function getInstance ($instanceKey); }