DelimiterProcessorInterface
in
Interface for a delimiter processor
Table of Contents
- getClosingCharacter() : string
- Returns the character that marks the ending of a delimited node.
- getDelimiterUse() : int
- Determine how many (if any) of the delimiter characters should be used.
- getMinLength() : int
- Minimum number of delimiter characters that are needed to active this.
- getOpeningCharacter() : string
- Returns the character that marks the beginning of a delimited node.
- process() : void
- Process the matched delimiters, e.g. by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.
Methods
getClosingCharacter()
Returns the character that marks the ending of a delimited node.
public
getClosingCharacter() : string
This must not clash with any other processors being added to the environment.
Note that for a symmetric delimiter such as "*", this is the same as the opening.
Return values
string —getDelimiterUse()
Determine how many (if any) of the delimiter characters should be used.
public
getDelimiterUse(DelimiterInterface $opener, DelimiterInterface $closer) : int
This allows implementations to decide how many characters to be used based on the properties of the delimiter runs. An implementation can also return 0 when it doesn't want to allow this particular combination of delimiter runs.
Parameters
- $opener : DelimiterInterface
-
The opening delimiter run
- $closer : DelimiterInterface
-
The closing delimiter run
Return values
int —getMinLength()
Minimum number of delimiter characters that are needed to active this.
public
getMinLength() : int
Must be at least 1.
Return values
int —getOpeningCharacter()
Returns the character that marks the beginning of a delimited node.
public
getOpeningCharacter() : string
This must not clash with any other processors being added to the environment.
Return values
string —process()
Process the matched delimiters, e.g. by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.
public
process(AbstractStringContainer $opener, AbstractStringContainer $closer, int $delimiterUse) : void
Note that removal of the delimiter from the delimiter nodes and detaching them is done by the caller.
Parameters
- $opener : AbstractStringContainer
-
The node that contained the opening delimiter
- $closer : AbstractStringContainer
-
The node that contained the closing delimiter
- $delimiterUse : int
-
The number of delimiters that were used