Class KeywordMap
java.lang.Object
com.inductiveautomation.ignition.client.jedittextarea.KeywordMap
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.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionKeywordMap
(boolean ignoreCase) Creates a newKeywordMap
.KeywordMap
(boolean ignoreCase, int mapLength) Creates a newKeywordMap
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a key-value mapping.boolean
Returns true if the keyword map is set to be case insensitive, false otherwise.protected int
getSegmentMapKey
(Segment s, int off, int len) protected int
byte
Looks up a key.void
setIgnoreCase
(boolean ignoreCase) Sets if the keyword map should be case insensitive.
-
Field Details
-
mapLength
protected int mapLength
-
-
Constructor Details
-
KeywordMap
public KeywordMap(boolean ignoreCase) Creates a newKeywordMap
.- Parameters:
ignoreCase
- True if keys are case insensitive
-
KeywordMap
public KeywordMap(boolean ignoreCase, int mapLength) Creates a newKeywordMap
.- Parameters:
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.
-
-
Method Details
-
lookup
Looks up a key.- Parameters:
text
- The text segmentoffset
- The offset of the substring within the text segmentlength
- The length of the substring
-
add
Adds a key-value mapping.- Parameters:
keyword
- The keyid
- 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
-
getSegmentMapKey
-