* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Alchemy\BinaryDriver; class Configuration implements ConfigurationInterface { private $data; public function __construct(array $data = array()) { $this->data = $data; } /** * {@inheritdoc} */ public function getIterator() { return new \ArrayIterator($this->data); } /** * {@inheritdoc} */ public function get($key, $default = null) { return isset($this->data[$key]) ? $this->data[$key] : $default; } /** * {@inheritdoc} */ public function set($key, $value) { $this->data[$key] = $value; return $this; } /** * {@inheritdoc} */ public function has($key) { return array_key_exists($key, $this->data); } /** * {@inheritdoc} */ public function remove($key) { $value = $this->get($key); unset($this->data[$key]); return $value; } /** * {@inheritdoc} */ public function all() { return $this->data; } /** * {@inheritdoc} */ public function offsetExists($offset) { return $this->has($offset); } /** * {@inheritdoc} */ public function offsetGet($offset) { return $this->get($offset); } /** * {@inheritdoc} */ public function offsetSet($offset, $value) { $this->set($offset, $value); } /** * {@inheritdoc} */ public function offsetUnset($offset) { $this->remove($offset); } }