aboutsummaryrefslogtreecommitdiff
path: root/src/bdrem/UserInterface.php
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2014-03-20 17:03:06 +0100
committerChristian Weiske <cweiske@cweiske.de>2014-03-20 17:03:06 +0100
commit6032c11d7a88651d85154ffe835a26b3f569c893 (patch)
treeb3cb83cb8d7dbcfa23891b84e3f0447c31e743c8 /src/bdrem/UserInterface.php
parent62842c0ba16bb1dc67435dea7b4d75af7773eacb (diff)
downloadbdrem-6032c11d7a88651d85154ffe835a26b3f569c893.tar.gz
bdrem-6032c11d7a88651d85154ffe835a26b3f569c893.zip
add docblocks to all files, classes, methods and variables
Diffstat (limited to 'src/bdrem/UserInterface.php')
-rw-r--r--src/bdrem/UserInterface.php72
1 files changed, 70 insertions, 2 deletions
diff --git a/src/bdrem/UserInterface.php b/src/bdrem/UserInterface.php
index 2ba1cfb..de6d3bb 100644
--- a/src/bdrem/UserInterface.php
+++ b/src/bdrem/UserInterface.php
@@ -1,10 +1,42 @@
<?php
+/**
+ * Part of bdrem
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package Bdrem
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/bdrem.htm
+ */
namespace bdrem;
+/**
+ * Generic user interface class
+ *
+ * @category Tools
+ * @package Bdrem
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @version Release: @package_version@
+ * @link http://cweiske.de/bdrem.htm
+ */
abstract class UserInterface
{
+ /**
+ * Configuration
+ * @var Config
+ */
protected $config;
+ /**
+ * Start the user interface, load config, parse and render events.
+ *
+ * @return void
+ */
public function run()
{
try {
@@ -16,7 +48,7 @@ abstract class UserInterface
if (!$this->config->cfgFileExists) {
throw new \Exception(
"No config file found. Looked at the following places:\n"
- . '- ' . implode ("\n- ", $this->config->cfgFiles)
+ . '- ' . implode("\n- ", $this->config->cfgFiles)
);
}
@@ -37,6 +69,11 @@ abstract class UserInterface
}
}
+ /**
+ * Load parameters for the CLI option parser.
+ *
+ * @return \Console_CommandLine CLI option parser
+ */
protected function loadParameters()
{
$parser = new \Console_CommandLine();
@@ -115,7 +152,14 @@ abstract class UserInterface
return $parser;
}
- protected function parseParameters($parser)
+ /**
+ * Let the CLI option parser parse the options.
+ *
+ * @param object $parser Option parser
+ *
+ * @return object Parsed command line parameters
+ */
+ protected function parseParameters(\Console_CommandLine $parser)
{
try {
$result = $parser->parse();
@@ -136,6 +180,13 @@ abstract class UserInterface
}
}
+ /**
+ * Output the events
+ *
+ * @param array $arEvents Event objects to render
+ *
+ * @return void
+ */
protected function render($arEvents)
{
$r = $this->getRenderer();
@@ -148,6 +199,11 @@ abstract class UserInterface
$r->renderAndOutput($arEvents);
}
+ /**
+ * Load the configured renderer
+ *
+ * @return Renderer Renderer instance
+ */
protected function getRenderer()
{
$renderer = ucfirst($this->config->renderer);
@@ -158,10 +214,22 @@ abstract class UserInterface
return new $class();
}
+ /**
+ * Handle any commands given on the CLI
+ *
+ * @param object $res Command line parameters and options
+ *
+ * @return void
+ */
protected function handleCommands($res)
{
}
+ /**
+ * Do something before a parameter parsing error is shown
+ *
+ * @return void
+ */
protected function preRenderParameterError()
{
}