Class BytesTrieBuilder
This class is not intended for public subclassing.
- Author:
- Markus W. Scherer
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.icu.util.StringTrieBuilder
StringTrieBuilder.Option
-
Field Summary
Fields inherited from class com.ibm.icu.util.StringTrieBuilder
strings
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd
(byte[] sequence, int length, int value) Adds a (byte sequence, value) pair.build
(StringTrieBuilder.Option buildOption) Builds a BytesTrie for the add()ed data.buildByteBuffer
(StringTrieBuilder.Option buildOption) Builds a BytesTrie for the add()ed data and byte-serializes it.clear()
Removes all (byte sequence, value) pairs.protected int
Deprecated.This API is ICU internal only.protected int
Deprecated.This API is ICU internal only.protected int
Deprecated.This API is ICU internal only.static final int
internalEncodeDelta
(int i, byte[] intBytes) Deprecated.This API is ICU internal only.protected boolean
Deprecated.This API is ICU internal only.protected int
write
(int b) Deprecated.This API is ICU internal only.protected int
write
(int offset, int length) Deprecated.This API is ICU internal only.protected int
writeDeltaTo
(int jumpTarget) Deprecated.This API is ICU internal only.protected int
writeValueAndFinal
(int i, boolean isFinal) Deprecated.This API is ICU internal only.protected int
writeValueAndType
(boolean hasValue, int value, int node) Deprecated.This API is ICU internal only.Methods inherited from class com.ibm.icu.util.StringTrieBuilder
addImpl, buildImpl, clearImpl
-
Constructor Details
-
BytesTrieBuilder
public BytesTrieBuilder()Constructs an empty builder.
-
-
Method Details
-
add
Adds a (byte sequence, value) pair. The byte sequence must be unique. Bytes 0..length-1 will be copied; the builder does not keep a reference to the input array.- Parameters:
sequence
- The array that contains the byte sequence, starting at index 0.length
- The length of the byte sequence.value
- The value associated with this byte sequence.- Returns:
- this
-
build
Builds a BytesTrie for the add()ed data. Once built, no further data can be add()ed until clear() is called.A BytesTrie cannot be empty. At least one (byte sequence, value) pair must have been add()ed.
Multiple calls to build() or buildByteBuffer() return tries or buffers which share the builder's byte array, without rebuilding. The byte array must not be modified via the buildByteBuffer() result object. After clear() has been called, a new array will be used.
- Parameters:
buildOption
- Build option, see StringTrieBuilder.Option.- Returns:
- A new BytesTrie for the add()ed data.
-
buildByteBuffer
Builds a BytesTrie for the add()ed data and byte-serializes it. Once built, no further data can be add()ed until clear() is called.A BytesTrie cannot be empty. At least one (byte sequence, value) pair must have been add()ed.
Multiple calls to build() or buildByteBuffer() return tries or buffers which share the builder's byte array, without rebuilding. Do not modify the bytes in the buffer! After clear() has been called, a new array will be used.
The serialized BytesTrie is accessible via the buffer's array()/arrayOffset()+position() or remaining()/get(byte[]) etc.
- Parameters:
buildOption
- Build option, see StringTrieBuilder.Option.- Returns:
- A ByteBuffer with the byte-serialized BytesTrie for the add()ed data. The buffer is not read-only and array() can be called.
-
clear
Removes all (byte sequence, value) pairs. New data can then be add()ed and a new trie can be built.- Returns:
- this
-
matchNodesCanHaveValues
Deprecated.This API is ICU internal only.- Specified by:
matchNodesCanHaveValues
in classStringTrieBuilder
-
getMaxBranchLinearSubNodeLength
Deprecated.This API is ICU internal only.- Specified by:
getMaxBranchLinearSubNodeLength
in classStringTrieBuilder
-
getMinLinearMatch
Deprecated.This API is ICU internal only.- Specified by:
getMinLinearMatch
in classStringTrieBuilder
-
getMaxLinearMatchLength
Deprecated.This API is ICU internal only.- Specified by:
getMaxLinearMatchLength
in classStringTrieBuilder
-
write
Deprecated.This API is ICU internal only.- Specified by:
write
in classStringTrieBuilder
-
write
Deprecated.This API is ICU internal only.- Specified by:
write
in classStringTrieBuilder
-
writeValueAndFinal
Deprecated.This API is ICU internal only.- Specified by:
writeValueAndFinal
in classStringTrieBuilder
-
writeValueAndType
Deprecated.This API is ICU internal only.- Specified by:
writeValueAndType
in classStringTrieBuilder
-
writeDeltaTo
Deprecated.This API is ICU internal only.- Specified by:
writeDeltaTo
in classStringTrieBuilder
-
internalEncodeDelta
Deprecated.This API is ICU internal only.
-