## org.gjt.sp.jedit.syntax
Class KeywordMap

    java.lang.Object
      org.gjt.sp.jedit.syntax.KeywordMap

    public class KeywordMap

extends java.lang.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.

Constructor Summary
`KeywordMap(boolean ignoreCase)` Creates a new `KeywordMap`.
`KeywordMap(boolean ignoreCase, int mapLength)` Creates a new `KeywordMap`.

Method Summary
`void` `add(char[] keyword, byte id)` Adds a key-value mapping.
`void` `add(KeywordMap map)` Adds the content of another keyword map to this one.
`void` `add(java.lang.String keyword, byte id)` Adds a key-value mapping.
`boolean` `getIgnoreCase()` Returns true if the keyword map is set to be case insensitive, false otherwise.
`java.lang.String[]` `getKeywords()` Returns an array containing all keywords in this keyword map.
`java.lang.String` `getNonAlphaNumericChars()` Returns all non-alphanumeric characters that appear in the keywords of this keyword map.
`protected int` `getSegmentMapKey(javax.swing.text.Segment s, int off, int len)`
`byte` `lookup(javax.swing.text.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
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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 Detail

### lookup

    public byte lookup(javax.swing.text.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(java.lang.String keyword,
                    byte id)

  Adds a key-value mapping.

  Parameters:
    `keyword` - The key
    `id` - The value

### add

    public void add(char[] keyword,
                    byte id)

  Adds a key-value mapping.

  Parameters:
    `keyword` - The key
    `id` - The value
  Since:
    jEdit 4.2pre3

### getNonAlphaNumericChars

    public java.lang.String getNonAlphaNumericChars()

  Returns all non-alphanumeric characters that appear in the keywords of this keyword map.

  Since:
    jEdit 4.0pre3

### getKeywords

    public java.lang.String[] getKeywords()

  Returns an array containing all keywords in this keyword map.

  Since:
    jEdit 4.0pre3

### 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

### add

    public void add(KeywordMap map)

  Adds the content of another keyword map to this one.

  Since:
    jEdit 4.2pre3

### getSegmentMapKey

    protected int getSegmentMapKey(javax.swing.text.Segment s,
                                   int off,
                                   int len)