summaryrefslogtreecommitdiff
path: root/platform/www/inc/Parsing/ParserMode/AbstractMode.php
diff options
context:
space:
mode:
Diffstat (limited to 'platform/www/inc/Parsing/ParserMode/AbstractMode.php')
-rw-r--r--platform/www/inc/Parsing/ParserMode/AbstractMode.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/platform/www/inc/Parsing/ParserMode/AbstractMode.php b/platform/www/inc/Parsing/ParserMode/AbstractMode.php
new file mode 100644
index 0000000..15fc9fe
--- /dev/null
+++ b/platform/www/inc/Parsing/ParserMode/AbstractMode.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace dokuwiki\Parsing\ParserMode;
+
+/**
+ * This class and all the subclasses below are used to reduce the effort required to register
+ * modes with the Lexer.
+ *
+ * @author Harry Fuecks <hfuecks@gmail.com>
+ */
+abstract class AbstractMode implements ModeInterface
+{
+ /** @var \dokuwiki\Parsing\Lexer\Lexer $Lexer will be injected on loading FIXME this should be done by setter */
+ public $Lexer;
+ protected $allowedModes = array();
+
+ /** @inheritdoc */
+ abstract public function getSort();
+
+ /** @inheritdoc */
+ public function preConnect()
+ {
+ }
+
+ /** @inheritdoc */
+ public function connectTo($mode)
+ {
+ }
+
+ /** @inheritdoc */
+ public function postConnect()
+ {
+ }
+
+ /** @inheritdoc */
+ public function accepts($mode)
+ {
+ return in_array($mode, (array) $this->allowedModes);
+ }
+}