Version 1
[yaffs-website] / vendor / gabordemooij / redbean / RedBeanPHP / ToolBox.php
diff --git a/vendor/gabordemooij/redbean/RedBeanPHP/ToolBox.php b/vendor/gabordemooij/redbean/RedBeanPHP/ToolBox.php
new file mode 100755 (executable)
index 0000000..ea6f9a5
--- /dev/null
@@ -0,0 +1,101 @@
+<?php
+
+namespace RedBeanPHP;
+
+use RedBeanPHP\OODB as OODB;
+use RedBeanPHP\QueryWriter as QueryWriter;
+use RedBeanPHP\Adapter\DBAdapter as DBAdapter;
+use RedBeanPHP\Adapter as Adapter;
+
+/**
+ * ToolBox.
+ *
+ * The toolbox is an integral part of RedBeanPHP providing the basic
+ * architectural building blocks to manager objects, helpers and additional tools
+ * like plugins. A toolbox contains the three core components of RedBeanPHP:
+ * the adapter, the query writer and the core functionality of RedBeanPHP in
+ * OODB.
+ *
+ * @file      RedBeanPHP/ToolBox.php
+ * @author    Gabor de Mooij and the RedBeanPHP community
+ * @license   BSD/GPLv2
+ *
+ * @copyright
+ * copyright (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community.
+ * This source file is subject to the BSD/GPLv2 License that is bundled
+ * with this source code in the file license.txt.
+ */
+class ToolBox
+{
+       /**
+        * @var OODB
+        */
+       protected $oodb;
+
+       /**
+        * @var QueryWriter
+        */
+       protected $writer;
+
+       /**
+        * @var DBAdapter
+        */
+       protected $adapter;
+
+       /**
+        * Constructor.
+        * The toolbox is an integral part of RedBeanPHP providing the basic
+        * architectural building blocks to manager objects, helpers and additional tools
+        * like plugins. A toolbox contains the three core components of RedBeanPHP:
+        * the adapter, the query writer and the core functionality of RedBeanPHP in
+        * OODB.
+        *
+        * @param OODB        $oodb    Object Database, OODB
+        * @param DBAdapter   $adapter Database Adapter
+        * @param QueryWriter $writer  Query Writer
+        */
+       public function __construct( OODB $oodb, Adapter $adapter, QueryWriter $writer )
+       {
+               $this->oodb    = $oodb;
+               $this->adapter = $adapter;
+               $this->writer  = $writer;
+               return $this;
+       }
+
+       /**
+        * Returns the query writer in this toolbox.
+        * The Query Writer is responsible for building the queries for a
+        * specific database and executing them through the adapter.
+        *
+        * @return QueryWriter
+        */
+       public function getWriter()
+       {
+               return $this->writer;
+       }
+
+       /**
+        * Returns the OODB instance in this toolbox.
+        * OODB is responsible for creating, storing, retrieving and deleting
+        * single beans. Other components rely
+        * on OODB for their basic functionality.
+        *
+        * @return OODB
+        */
+       public function getRedBean()
+       {
+               return $this->oodb;
+       }
+
+       /**
+        * Returns the database adapter in this toolbox.
+        * The adapter is responsible for executing the query and binding the values.
+        * The adapter also takes care of transaction handling.
+        *
+        * @return DBAdapter
+        */
+       public function getDatabaseAdapter()
+       {
+               return $this->adapter;
+       }
+}