Class KeywordMap

java.lang.Object
mars.venus.editors.jeditsyntax.KeywordMap

public class KeywordMap extends Object
A KeywordMap is similar to a hashtable in that it maps keys to values. However, the `keys' are Swing segments. This allows lookups of text substrings without the overhead of creating a new string object.

This class is used by CTokenMarker to map keywords to ids.

Version:
$Id: KeywordMap.java,v 1.16 1999/12/13 03:40:30 sp Exp $
Author:
Slava Pestov, Mike Dillon
  • Constructor Summary

    Constructors
    Constructor
    Description
    KeywordMap​(boolean ignoreCase)
    Creates a new KeywordMap.
    KeywordMap​(boolean ignoreCase, int mapLength)
    Creates a new KeywordMap.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add​(String keyword, byte id)
    Adds a key-value mapping.
    boolean
    Returns true if the keyword map is set to be case insensitive, false otherwise.
    byte
    lookup​(Segment text, int offset, int length)
    Looks up a key.
    void
    setIgnoreCase​(boolean ignoreCase)
    Sets if the keyword map should be case insensitive.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • KeywordMap

      public KeywordMap(boolean ignoreCase)
      Creates a new KeywordMap.
      Parameters:
      ignoreCase - True if keys are case insensitive
    • KeywordMap

      public KeywordMap(boolean ignoreCase, int mapLength)
      Creates a new KeywordMap.
      Parameters:
      ignoreCase - True if the keys are case insensitive
      mapLength - The number of `buckets' to create. A value of 52 will give good performance for most maps.
  • Method Details

    • lookup

      public byte lookup(Segment text, int offset, int length)
      Looks up a key.
      Parameters:
      text - The text segment
      offset - The offset of the substring within the text segment
      length - The length of the substring
    • add

      public void add(String keyword, byte id)
      Adds a key-value mapping.
      Parameters:
      keyword - The key
      id - The value
    • getIgnoreCase

      public boolean getIgnoreCase()
      Returns true if the keyword map is set to be case insensitive, false otherwise.
    • setIgnoreCase

      public void setIgnoreCase(boolean ignoreCase)
      Sets if the keyword map should be case insensitive.
      Parameters:
      ignoreCase - True if the keyword map should be case insensitive, false otherwise