| java.lang.Object com.ibm.icu.impl.TrieBuilder com.ibm.icu.impl.IntTrieBuilder
IntTrieBuilder | public class IntTrieBuilder extends TrieBuilder (Code) | | Builder class to manipulate and generate a trie.
This is useful for ICU data in primitive types.
Provides a compact way to store information that is indexed by Unicode
values, such as character properties, types, keyboard values, etc. This is
very useful when you have a block of Unicode data that contains significant
values while the rest of the Unicode data is unused in the application or
when you have a lot of redundance, such as where all 21,000 Han ideographs
have the same value. However, lookup is much faster than a hash table.
A trie of any primitive data type serves two purposes:
- Fast access of the indexed values.
- Smaller memory footprint.
This is a direct port from the ICU4C version
author: Syn Wee Quek |
Method Summary | |
public int | getValue(int ch) | public int | getValue(int ch, boolean[] inBlockZero) Get a 32 bit data from the table data
Parameters: ch - code point for which data is to be retrieved. Parameters: inBlockZero - Output parameter, inBlockZero[0] returns true if thechar maps into block zero, otherwise false. | public IntTrie | serialize(TrieBuilder.DataManipulate datamanipulate, Trie.DataManipulate triedatamanipulate) | public int | serialize(OutputStream os, boolean reduceTo16Bits, TrieBuilder.DataManipulate datamanipulate) Serializes the build table to an output stream.
Compacts the build-time trie after all values are set, and then
writes the serialized form onto an output stream.
After this, this build-time Trie can only be serialized again and/or closed;
no further values can be added.
This function is the rough equivalent of utrie_seriaize() in ICU4C.
Parameters: os - the output stream to which the seriaized trie will be written.If nul, the function still returns the size of the serialized Trie. Parameters: reduceTo16Bits - If true, reduce the data size to 16 bits. | public boolean | setRange(int start, int limit, int value, boolean overwrite) Set a value in a range of code points [start..limit]. | public boolean | setValue(int ch, int value) |
m_data_ | protected int m_data_(Code) | | |
m_initialValue_ | protected int m_initialValue_(Code) | | |
IntTrieBuilder | public IntTrieBuilder(int aliasdata, int maxdatalength, int initialvalue, int leadunitvalue, boolean latin1linear)(Code) | | Constructs a build table
Parameters: aliasdata - data to be filled into table Parameters: maxdatalength - maximum data length allowed in table Parameters: initialvalue - inital data value Parameters: latin1linear - is latin 1 to be linear |
getValue | public int getValue(int ch)(Code) | | Gets a 32 bit data from the table data
Parameters: ch - codepoint which data is to be retrieved the 32 bit data |
getValue | public int getValue(int ch, boolean[] inBlockZero)(Code) | | Get a 32 bit data from the table data
Parameters: ch - code point for which data is to be retrieved. Parameters: inBlockZero - Output parameter, inBlockZero[0] returns true if thechar maps into block zero, otherwise false. the 32 bit data value. |
serialize | public IntTrie serialize(TrieBuilder.DataManipulate datamanipulate, Trie.DataManipulate triedatamanipulate)(Code) | | Serializes the build table with 32 bit data
Parameters: datamanipulate - builder raw fold method implementation Parameters: triedatamanipulate - result trie fold method a new trie |
serialize | public int serialize(OutputStream os, boolean reduceTo16Bits, TrieBuilder.DataManipulate datamanipulate) throws IOException(Code) | | Serializes the build table to an output stream.
Compacts the build-time trie after all values are set, and then
writes the serialized form onto an output stream.
After this, this build-time Trie can only be serialized again and/or closed;
no further values can be added.
This function is the rough equivalent of utrie_seriaize() in ICU4C.
Parameters: os - the output stream to which the seriaized trie will be written.If nul, the function still returns the size of the serialized Trie. Parameters: reduceTo16Bits - If true, reduce the data size to 16 bits. The resultingserialized form can then be used to create a CharTrie. Parameters: datamanipulate - builder raw fold method implementation the number of bytes written to the output stream. |
setRange | public boolean setRange(int start, int limit, int value, boolean overwrite)(Code) | | Set a value in a range of code points [start..limit].
All code points c with start <= c < limit will get the value if
overwrite is true or if the old value is 0.
Parameters: start - the first code point to get the value Parameters: limit - one past the last code point to get the value Parameters: value - the value Parameters: overwrite - flag for whether old non-initial values are to be overwritten false if a failure occurred (illegal argument or data array overrun) |
setValue | public boolean setValue(int ch, int value)(Code) | | Sets a 32 bit data in the table data
Parameters: ch - codepoint which data is to be set Parameters: value - to set true if the set is successful, otherwise if the table has been compacted return false |
Methods inherited from com.ibm.icu.impl.TrieBuilder | final protected static boolean equal_int(int[] array, int start1, int start2, int length)(Code)(Java Doc) final protected static int findSameIndexBlock(int index, int indexLength, int otherBlock)(Code)(Java Doc) protected void findUnusedBlocks()(Code)(Java Doc) public boolean isInZeroBlock(int ch)(Code)(Java Doc)
|
|
|