xref: /dokuwiki/inc/Parsing/ParserMode/ModeInterface.php (revision be906b566b9bdfd92c032ee07c4fd077d820a8d1)
1*be906b56SAndreas Gohr<?php
2*be906b56SAndreas Gohr
3*be906b56SAndreas Gohrnamespace dokuwiki\Parsing\ParserMode;
4*be906b56SAndreas Gohr
5*be906b56SAndreas Gohr/**
6*be906b56SAndreas Gohr * Defines a mode (syntax component) in the Parser
7*be906b56SAndreas Gohr */
8*be906b56SAndreas Gohrinterface ModeInterface
9*be906b56SAndreas Gohr{
10*be906b56SAndreas Gohr    /**
11*be906b56SAndreas Gohr     * returns a number used to determine in which order modes are added
12*be906b56SAndreas Gohr     *
13*be906b56SAndreas Gohr     * @return int;
14*be906b56SAndreas Gohr     */
15*be906b56SAndreas Gohr    public function getSort();
16*be906b56SAndreas Gohr
17*be906b56SAndreas Gohr    /**
18*be906b56SAndreas Gohr     * Called before any calls to connectTo
19*be906b56SAndreas Gohr     *
20*be906b56SAndreas Gohr     * @return void
21*be906b56SAndreas Gohr     */
22*be906b56SAndreas Gohr    public function preConnect();
23*be906b56SAndreas Gohr
24*be906b56SAndreas Gohr    /**
25*be906b56SAndreas Gohr     * Connects the mode
26*be906b56SAndreas Gohr     *
27*be906b56SAndreas Gohr     * @param string $mode
28*be906b56SAndreas Gohr     * @return void
29*be906b56SAndreas Gohr     */
30*be906b56SAndreas Gohr    public function connectTo($mode);
31*be906b56SAndreas Gohr
32*be906b56SAndreas Gohr    /**
33*be906b56SAndreas Gohr     * Called after all calls to connectTo
34*be906b56SAndreas Gohr     *
35*be906b56SAndreas Gohr     * @return void
36*be906b56SAndreas Gohr     */
37*be906b56SAndreas Gohr    public function postConnect();
38*be906b56SAndreas Gohr
39*be906b56SAndreas Gohr    /**
40*be906b56SAndreas Gohr     * Check if given mode is accepted inside this mode
41*be906b56SAndreas Gohr     *
42*be906b56SAndreas Gohr     * @param string $mode
43*be906b56SAndreas Gohr     * @return bool
44*be906b56SAndreas Gohr     */
45*be906b56SAndreas Gohr    public function accepts($mode);
46*be906b56SAndreas Gohr}
47