Class BytesTrieBuilder
- java.lang.Object
-
- com.ibm.icu.util.StringTrieBuilder
-
- com.ibm.icu.util.BytesTrieBuilder
-
public final class BytesTrieBuilder extends StringTrieBuilder
Builder class for BytesTrie.This class is not intended for public subclassing.
- Author:
- Markus W. Scherer
- Status:
- Stable ICU 4.8.
-
-
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 Constructor Description BytesTrieBuilder()Constructs an empty builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description BytesTrieBuilderadd(byte[] sequence, int length, int value)Adds a (byte sequence, value) pair.BytesTriebuild(StringTrieBuilder.Option buildOption)Builds a BytesTrie for the add()ed data.ByteBufferbuildByteBuffer(StringTrieBuilder.Option buildOption)Builds a BytesTrie for the add()ed data and byte-serializes it.BytesTrieBuilderclear()Removes all (byte sequence, value) pairs.protected intgetMaxBranchLinearSubNodeLength()Deprecated.This API is ICU internal only.protected intgetMaxLinearMatchLength()Deprecated.This API is ICU internal only.protected intgetMinLinearMatch()Deprecated.This API is ICU internal only.static intinternalEncodeDelta(int i, byte[] intBytes)Deprecated.This API is ICU internal only.protected booleanmatchNodesCanHaveValues()Deprecated.This API is ICU internal only.protected intwrite(int b)Deprecated.This API is ICU internal only.protected intwrite(int offset, int length)Deprecated.This API is ICU internal only.protected intwriteDeltaTo(int jumpTarget)Deprecated.This API is ICU internal only.protected intwriteValueAndFinal(int i, boolean isFinal)Deprecated.This API is ICU internal only.protected intwriteValueAndType(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
-
-
-
-
Method Detail
-
add
public BytesTrieBuilder add(byte[] sequence, int length, int value)
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
- Status:
- Stable ICU 4.8.
-
build
public BytesTrie build(StringTrieBuilder.Option buildOption)
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.
- Status:
- Stable ICU 4.8.
-
buildByteBuffer
public ByteBuffer buildByteBuffer(StringTrieBuilder.Option buildOption)
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.
- Status:
- Stable ICU 4.8.
-
clear
public BytesTrieBuilder clear()
Removes all (byte sequence, value) pairs. New data can then be add()ed and a new trie can be built.- Returns:
- this
- Status:
- Stable ICU 4.8.
-
matchNodesCanHaveValues
@Deprecated protected boolean matchNodesCanHaveValues()
Deprecated.This API is ICU internal only.- Specified by:
matchNodesCanHaveValuesin classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
getMaxBranchLinearSubNodeLength
@Deprecated protected int getMaxBranchLinearSubNodeLength()
Deprecated.This API is ICU internal only.- Specified by:
getMaxBranchLinearSubNodeLengthin classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
getMinLinearMatch
@Deprecated protected int getMinLinearMatch()
Deprecated.This API is ICU internal only.- Specified by:
getMinLinearMatchin classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
getMaxLinearMatchLength
@Deprecated protected int getMaxLinearMatchLength()
Deprecated.This API is ICU internal only.- Specified by:
getMaxLinearMatchLengthin classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
write
@Deprecated protected int write(int b)
Deprecated.This API is ICU internal only.- Specified by:
writein classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
write
@Deprecated protected int write(int offset, int length)
Deprecated.This API is ICU internal only.- Specified by:
writein classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
writeValueAndFinal
@Deprecated protected int writeValueAndFinal(int i, boolean isFinal)
Deprecated.This API is ICU internal only.- Specified by:
writeValueAndFinalin classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
writeValueAndType
@Deprecated protected int writeValueAndType(boolean hasValue, int value, int node)
Deprecated.This API is ICU internal only.- Specified by:
writeValueAndTypein classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
writeDeltaTo
@Deprecated protected int writeDeltaTo(int jumpTarget)
Deprecated.This API is ICU internal only.- Specified by:
writeDeltaToin classStringTrieBuilder- Status:
- Internal. This API is ICU internal only.
-
internalEncodeDelta
@Deprecated public static final int internalEncodeDelta(int i, byte[] intBytes)
Deprecated.This API is ICU internal only.- Status:
- Internal. This API is ICU internal only.
-
-