Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jedit
Class KeywordMap

    java.lang.Object
      jedit.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.

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

Version:
  $Id: KeywordMap.java,v 1.1 2004/05/05 10:44:26 jferber Exp $
Author:
  Slava Pestov, Mike Dillon

Field Summary
`protected int` | `mapLength`

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

Method Summary
`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.
`protected int` | `getSegmentMapKey(javax.swing.text.Segment s, int off, int len)`
`protected int` | `getStringMapKey(java.lang.String s)`
`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`

Field Detail

### mapLength

    protected int mapLength

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

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

### getStringMapKey

    protected int getStringMapKey(java.lang.String s)

### getSegmentMapKey

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.