public class KeywordMap
extends java.lang.Object
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.| Modifier and Type | Field and Description | 
|---|---|
protected int | 
mapLength  | 
| Constructor and Description | 
|---|
KeywordMap(boolean ignoreCase)
Creates a new  
KeywordMap. | 
KeywordMap(boolean ignoreCase,
          int mapLength)
Creates a new  
KeywordMap. | 
| Modifier and Type | Method and Description | 
|---|---|
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 | 
getLastKeyword()
Return the last keyword key. 
 | 
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. 
 | 
public KeywordMap(boolean ignoreCase)
KeywordMap.ignoreCase - True if keys are case insensitivepublic KeywordMap(boolean ignoreCase,
                  int mapLength)
KeywordMap.ignoreCase - True if the keys are case insensitivemapLength - The number of `buckets' to create.
 A value of 52 will give good performance for most maps.public java.lang.String getLastKeyword()
public byte lookup(javax.swing.text.Segment text,
                   int offset,
                   int length)
text - The text segmentoffset - The offset of the substring within the text segmentlength - The length of the substringpublic void add(java.lang.String keyword,
                byte id)
keyword - The keyid - The valuepublic boolean getIgnoreCase()
public void setIgnoreCase(boolean ignoreCase)
ignoreCase - True if the keyword map should be case insensitive, false otherwiseprotected int getStringMapKey(java.lang.String s)
protected int getSegmentMapKey(javax.swing.text.Segment s,
                               int off,
                               int len)
Copyright © 2016, 2017, 2018, 2019, 2023, 2025 Herve Girod. All Rights Reserved. Documentation and source under the MIT licence