Class WordRule

java.lang.Object
org.eclipse.jface.text.rules.WordRule
All Implemented Interfaces:
IRule

public class WordRule extends Object implements IRule
An implementation of 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. Originally since unknown version, but moved to org.eclipse.text in 3.14
Since:
3.14
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    The column constraint.
    protected IToken
    The default token to be returned on success and if nothing else has been specified.
    protected IWordDetector
    The word detector used by this rule.
    protected Map<String,IToken>
    The table of predefined words and token for this rule.
    protected static final int
    Internal setting for the un-initialized column constraint.
  • Constructor Summary

    Constructors
    Constructor
    Description
    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.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addWord(String word, IToken token)
    Adds a word and the token to be returned if it is detected.
    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
    Returns the characters in the buffer to the scanner.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • UNDEFINED

      protected static final int UNDEFINED
      Internal setting for the un-initialized column constraint.
      See Also:
    • fDetector

      protected IWordDetector fDetector
      The word detector used by this rule.
    • fDefaultToken

      protected IToken fDefaultToken
      The default token to be returned on success and if nothing else has been specified.
    • fColumn

      protected int fColumn
      The column constraint.
    • fWords

      protected Map<String,IToken> fWords
      The table of predefined words and token for this rule.
  • Constructor Details

    • WordRule

      public WordRule(IWordDetector detector)
      Creates a rule which, with the help of an word detector, will return the token associated with the detected word. If no token has been associated, the scanner will be rolled back and an undefined token will be returned in order to allow any subsequent rules to analyze the characters.
      Parameters:
      detector - the word detector to be used by this rule, may not be null
      See Also:
    • WordRule

      public 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. If no token has been associated, the specified default token will be returned.
      Parameters:
      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
      See Also:
    • WordRule

      public 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. If no token has been associated, the specified default token will be returned.
      Parameters:
      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 rule
      Since:
      3.3
      See Also:
  • Method Details

    • addWord

      public void addWord(String word, IToken token)
      Adds a word and the token to be returned if it is detected.
      Parameters:
      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
    • setColumnConstraint

      public void setColumnConstraint(int column)
      Sets a column constraint for this rule. If set, the rule's token will only be returned if the pattern is detected starting at the specified column. If the column is smaller then 0, the column constraint is considered removed.
      Parameters:
      column - the column in which the pattern starts
    • evaluate

      public IToken evaluate(ICharacterScanner scanner)
      Description copied from interface: IRule
      Evaluates the rule by examining the characters available from the provided character scanner. The token returned by this rule returns true when calling isUndefined, if the text that the rule investigated does not match the rule's requirements
      Specified by:
      evaluate in interface IRule
      Parameters:
      scanner - the character scanner to be used by this rule
      Returns:
      the token computed by the rule
    • unreadBuffer

      protected void unreadBuffer(ICharacterScanner scanner)
      Returns the characters in the buffer to the scanner.
      Parameters:
      scanner - the scanner to be used