APIdia Launch Partner
Top Description Inners Fields Constructors Methods
io.github.spannm.jackcess.impl

public Class GeneralIndexCodes

extends GeneralLegacyIndexCodes
Class Inheritance
Annotations
@SuppressWarnings:PMD.FieldDeclarationsShouldBeAtStartOfClass

Encoding logic for MS Access "General" (Access 2010+) text index entries.

Extends GeneralLegacyIndexCodes with updated character tables for Unicode code points that were assigned or reweighted in the Access 2010 release. The byte-format structure (inline bytes, extra bytes, unprintable bytes, crazy codes) is identical to the legacy variant; only the per-character code tables differ.

Character handlers are loaded lazily from:

See Also
ColumnImpl#GENERAL_SORT_ORDER, GeneralLegacyIndexCodes

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class

Field Summary

Modifier and TypeField and Description
private static final String
private static final String
pack-priv static final GeneralIndexCodes
private static final byte
private static final GeneralLegacyIndexCodes.CharHandler
HIGH_SURROGATE_HIGH_PLANES_CHAR_HANDLER

handler for a high surrogate in the fourth run, U+DB80 to U+DBFF

private static final int
private static final char
private static final GeneralLegacyIndexCodes.CharHandler
HIGH_SURROGATE_PLANE1_CHAR_HANDLER

handler for a high surrogate in the first run, U+D800 to U+D83F

private static final int
private static final GeneralLegacyIndexCodes.CharHandler
HIGH_SURROGATE_PLANE2_CHAR_HANDLER

handler for a high surrogate in the second run, U+D840 to U+D87F

private static final int
private static final char
private static final char
private static final GeneralLegacyIndexCodes.CharHandler
LOW_SURROGATE_CHAR_HANDLER

handler for a low surrogate, whose weight is piecewise over its position in the 1024 char block

private static final byte
Inherited from io.github.spannm.jackcess.impl.GeneralLegacyIndexCodes:
CRAZY_CODE_1CRAZY_CODE_2CRAZY_CODE_STARTCRAZY_CODES_PER_SUFFIX_REPEATCRAZY_CODES_SUFFIX_MIDFIXCRAZY_CODES_SUFFIX_REPEATCRAZY_CODES_SUFFIX_SEPARATORCRAZY_CODES_SUFFIX_STARTCRAZY_CODES_UNPRINT_SUFFIXEND_EXTRA_TEXTEND_TEXTFIRST_CHARFIRST_EXT_CHARGEN_LEG_INSTANCEIGNORED_CHAR_HANDLERIGNORED_SURROGATESINTERNATIONAL_EXTRA_PLACEHOLDERLAST_CHARLAST_EXT_CHARMAX_TEXT_INDEX_CHAR_LENGTHUNPRINTABLE_COUNT_MULTIPLIERUNPRINTABLE_COUNT_STARTUNPRINTABLE_MIDFIXUNPRINTABLE_OFFSET_FLAGS

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv GeneralLegacyIndexCodes.CharHandler
getCharHandler(char c)

Overrides io.github.spannm.jackcess.impl.GeneralLegacyIndexCodes.getCharHandler.

Returns the CharHandler for the given character.

private static GeneralLegacyIndexCodes.CharHandler

Returns:

the handler for the char
getSurrogateCharHandler
(char
a high or low surrogate char
c
)

Returns the handler for the given surrogate char.

Inherited from io.github.spannm.jackcess.impl.GeneralLegacyIndexCodes:
asUnsignedCharloadCodesloadCodestoIndexCharSequencewriteNonNullIndexTextValue

Field Detail

CODES_FILEback to summary
private static final String CODES_FILE

Hides io.github.spannm.jackcess.impl.GeneralLegacyIndexCodes.CODES_FILE.

EXT_CODES_FILEback to summary
private static final String EXT_CODES_FILE

Hides io.github.spannm.jackcess.impl.GeneralLegacyIndexCodes.EXT_CODES_FILE.

GEN_INSTANCEback to summary
pack-priv static final GeneralIndexCodes GEN_INSTANCE
HIGH_SURROGATE_EXTRA_BYTEback to summary
private static final byte HIGH_SURROGATE_EXTRA_BYTE
HIGH_SURROGATE_HIGH_PLANES_CHAR_HANDLERback to summary
private static final GeneralLegacyIndexCodes.CharHandler HIGH_SURROGATE_HIGH_PLANES_CHAR_HANDLER

handler for a high surrogate in the fourth run, U+DB80 to U+DBFF

HIGH_SURROGATE_HIGH_PLANES_OFFSETback to summary
private static final int HIGH_SURROGATE_HIGH_PLANES_OFFSET
HIGH_SURROGATE_HIGH_PLANES_STARTback to summary
private static final char HIGH_SURROGATE_HIGH_PLANES_START
HIGH_SURROGATE_PLANE1_CHAR_HANDLERback to summary
private static final GeneralLegacyIndexCodes.CharHandler HIGH_SURROGATE_PLANE1_CHAR_HANDLER

handler for a high surrogate in the first run, U+D800 to U+D83F

HIGH_SURROGATE_PLANE1_OFFSETback to summary
private static final int HIGH_SURROGATE_PLANE1_OFFSET
HIGH_SURROGATE_PLANE2_CHAR_HANDLERback to summary
private static final GeneralLegacyIndexCodes.CharHandler HIGH_SURROGATE_PLANE2_CHAR_HANDLER

handler for a high surrogate in the second run, U+D840 to U+D87F

HIGH_SURROGATE_PLANE2_OFFSETback to summary
private static final int HIGH_SURROGATE_PLANE2_OFFSET
HIGH_SURROGATE_PLANE2_STARTback to summary
private static final char HIGH_SURROGATE_PLANE2_START
HIGH_SURROGATE_UNWEIGHTED_STARTback to summary
private static final char HIGH_SURROGATE_UNWEIGHTED_START
LOW_SURROGATE_CHAR_HANDLERback to summary
private static final GeneralLegacyIndexCodes.CharHandler LOW_SURROGATE_CHAR_HANDLER

handler for a low surrogate, whose weight is piecewise over its position in the 1024 char block

SURROGATE_EXTRA_BYTEback to summary
private static final byte SURROGATE_EXTRA_BYTE

Constructor Detail

GeneralIndexCodesback to summary
pack-priv GeneralIndexCodes()

Method Detail

getCharHandlerback to summary
pack-priv GeneralLegacyIndexCodes.CharHandler getCharHandler(char c)

Overrides io.github.spannm.jackcess.impl.GeneralLegacyIndexCodes.getCharHandler.

Returns the CharHandler for the given character.

Annotations
@Override
getSurrogateCharHandlerback to summary
private static GeneralLegacyIndexCodes.CharHandler getSurrogateCharHandler(char c)

Returns the handler for the given surrogate char. The third run of the high surrogates has no weight in the table, so those are ignored.

Parameters
c:char

a high or low surrogate char

Returns:GeneralLegacyIndexCodes.CharHandler

the handler for the char

io.github.spannm.jackcess.impl back to summary

private final Class GeneralIndexCodes.Codes

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final GeneralLegacyIndexCodes.CharHandler[]
VALUES

handlers for the first 256 chars.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VALUESback to summary
private static final GeneralLegacyIndexCodes.CharHandler[] VALUES

handlers for the first 256 chars. use nested class to lazy load the handlers

Constructor Detail

Codesback to summary
private Codes()
io.github.spannm.jackcess.impl back to summary

private final Class GeneralIndexCodes.ExtCodes

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final GeneralLegacyIndexCodes.CharHandler[]
VALUES

handlers for the rest of the chars in BMP 0.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VALUESback to summary
private static final GeneralLegacyIndexCodes.CharHandler[] VALUES

handlers for the rest of the chars in BMP 0. use nested class to lazy load the handlers

Constructor Detail

ExtCodesback to summary
private ExtCodes()