public class WordRule extends Object implements IRule
IRule
capable of detecting words. A word rule also allows to
associate a token to a word. That is, not only can the rule be used to provide tokens for exact
matches, but also for the generalized notion of a word in the context in which it is used. A word
rule uses a word detector to determine what a word is.IWordDetector
Modifier and Type | Field and Description |
---|---|
protected int |
fColumn
The column constraint.
|
protected IToken |
fDefaultToken
The default token to be returned on success and if nothing else has been specified.
|
protected IWordDetector |
fDetector
The word detector used by this rule.
|
protected Map<String,IToken> |
fWords
The table of predefined words and token for this rule.
|
protected static int |
UNDEFINED
Internal setting for the un-initialized column constraint.
|
Constructor and Description |
---|
WordRule(IWordDetector detector)
Creates a rule which, with the help of an word detector, will return the token
associated with the detected word.
|
WordRule(IWordDetector detector,
IToken defaultToken)
Creates a rule which, with the help of a word detector, will return the token
associated with the detected word.
|
WordRule(IWordDetector detector,
IToken defaultToken,
boolean ignoreCase)
Creates a rule which, with the help of a word detector, will return the token
associated with the detected word.
|
Modifier and Type | Method and Description |
---|---|
void |
addWord(String word,
IToken token)
Adds a word and the token to be returned if it is detected.
|
IToken |
evaluate(ICharacterScanner scanner)
Evaluates the rule by examining the characters available from the provided character scanner.
|
void |
setColumnConstraint(int column)
Sets a column constraint for this rule.
|
protected void |
unreadBuffer(ICharacterScanner scanner)
Returns the characters in the buffer to the scanner.
|
protected static final int UNDEFINED
protected IWordDetector fDetector
protected IToken fDefaultToken
protected int fColumn
public WordRule(IWordDetector detector)
detector
- the word detector to be used by this rule, may not be null
addWord(String, IToken)
public WordRule(IWordDetector detector, IToken defaultToken)
detector
- the word detector to be used by this rule, may not be null
defaultToken
- the default token to be returned on success
if nothing else is specified, may not be null
addWord(String, IToken)
public WordRule(IWordDetector detector, IToken defaultToken, boolean ignoreCase)
detector
- the word detector to be used by this rule, may not be null
defaultToken
- the default token to be returned on success
if nothing else is specified, may not be null
ignoreCase
- the case sensitivity associated with this ruleaddWord(String, IToken)
public void addWord(String word, IToken token)
word
- the word this rule will search for, may not be null
token
- the token to be returned if the word has been found, may not be null
public void setColumnConstraint(int column)
column
- the column in which the pattern startspublic IToken evaluate(ICharacterScanner scanner)
IRule
true
when calling
isUndefined
, if the text that the rule investigated does not match the rule's
requirementsprotected void unreadBuffer(ICharacterScanner scanner)
scanner
- the scanner to be used
Copyright (c) 2000, 2018 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.