Package org.gjt.sp.jedit.syntax
Class KeywordMap
- java.lang.Object
-
- org.gjt.sp.jedit.syntax.KeywordMap
-
public class KeywordMap extends java.lang.Object
AKeywordMap
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
Constructors Constructor Description KeywordMap(boolean ignoreCase)
Creates a newKeywordMap
.KeywordMap(boolean ignoreCase, int mapLength)
Creates a newKeywordMap
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(char[] keyword, byte id)
Adds a key-value mapping.void
add(java.lang.String keyword, byte id)
Adds a key-value mapping.void
add(KeywordMap map)
Adds the content of another keyword map to this one.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.
-
-
-
Constructor Detail
-
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 Detail
-
lookup
public byte lookup(javax.swing.text.Segment text, int offset, int length)
Looks up a key.- Parameters:
text
- The text segmentoffset
- The offset of the substring within the text segmentlength
- The length of the substring
-
add
public void add(java.lang.String keyword, byte id)
Adds a key-value mapping.- Parameters:
keyword
- The keyid
- The value
-
add
public void add(char[] keyword, byte id)
Adds a key-value mapping.- Parameters:
keyword
- The keyid
- 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)
-
-