Top Inners Fields Constructors Methods
com.ibm.icu.impl.coll

public final Class CollationRuleParser

extends Object
Class Inheritance
Imports
java.text.ParseException, java.util.ArrayList, com.ibm.icu.impl.IllegalIcuArgumentException, .PatternProps, com.ibm.icu.lang.UCharacter, .UProperty, com.ibm.icu.text.Collator, .Normalizer2, .UTF16, .UnicodeSet, com.ibm.icu.util.ULocale

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static interface
pack-priv static enum
CollationRuleParser.Position

Special reset positions.

pack-priv abstract static class

Field Summary

Modifier and TypeField and Description
private final CollationData
private static final String
private static final String[]
private CollationRuleParser.Importer
private Normalizer2
private Normalizer2
private static final int
pack-priv static final char
POS_BASE

Base for the second character of contractions that encode special reset positions.

pack-priv static final char
POS_LEAD

First character of contractions that encode special reset positions.

pack-priv static final CollationRuleParser.Position[]
private static final String[]
private final StringBuilder
private int
private String
private CollationSettings
private CollationRuleParser.Sink
private static final int
private static final int
STRENGTH_MASK

UCOL_PRIMARY=0 ..

private static final int
private static final int
private static final int
private static final int

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private String
private static int
public static int

Returns:

the script/reorder code, or -1 if not recognized
getReorderCode
(String word)

Gets a script or reorder code from its string representation.

private static final boolean
isSurrogate(int c)

private static boolean
isSyntaxChar(int c)

ASCII [:P:] and [:S:]: [!-/ :-@ [-` {-~]

private ParseException
pack-priv void
parse(String ruleString, CollationSettings outSettings)

private void
parse(String ruleString)

private int
private void
parseRelationStrings(int strength, int i)

private void
private int
private void
private void
private int

Returns:

rule index after the special reset position
parseSpecialPosition
(int i, StringBuilder str)

Sets str to a contraction of U+FFFE and (U+2800 + Position).

private void
parseStarredCharacters(int strength, int i)

private int
private int
private int
private int
pack-priv void
setImporter(CollationRuleParser.Importer importerAlias)

Sets the pointer to an Importer object.

private void
private void
pack-priv void
setSink(CollationRuleParser.Sink sinkAlias)

Sets the pointer to a Sink object.

private int
skipComment(int i)

private int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

baseDataback to summary
private final CollationData baseData
BEFOREback to summary
private static final String BEFORE
gSpecialReorderCodesback to summary
private static final String[] gSpecialReorderCodes
importerback to summary
private CollationRuleParser.Importer importer
nfcback to summary
private Normalizer2 nfc
nfdback to summary
private Normalizer2 nfd
OFFSET_SHIFTback to summary
private static final int OFFSET_SHIFT
POS_BASEback to summary
pack-priv static final char POS_BASE

Base for the second character of contractions that encode special reset positions. Braille characters U+28xx are printable and normalization-inert.

See Also
POS_LEAD
POS_LEADback to summary
pack-priv static final char POS_LEAD

First character of contractions that encode special reset positions. U+FFFE cannot be tailored via rule syntax. The second contraction character is POS_BASE + Position.

POSITION_VALUESback to summary
pack-priv static final CollationRuleParser.Position[] POSITION_VALUES
positionsback to summary
private static final String[] positions
rawBuilderback to summary
private final StringBuilder rawBuilder
ruleIndexback to summary
private int ruleIndex
rulesback to summary
private String rules
settingsback to summary
private CollationSettings settings
sinkback to summary
private CollationRuleParser.Sink sink
STARRED_FLAGback to summary
private static final int STARRED_FLAG
STRENGTH_MASKback to summary
private static final int STRENGTH_MASK

UCOL_PRIMARY=0 .. UCOL_IDENTICAL=15

U_PARSE_CONTEXT_LENback to summary
private static final int U_PARSE_CONTEXT_LEN
UCOL_DEFAULTback to summary
private static final int UCOL_DEFAULT
UCOL_OFFback to summary
private static final int UCOL_OFF
UCOL_ONback to summary
private static final int UCOL_ON

Constructor Detail

CollationRuleParserback to summary
pack-priv CollationRuleParser(CollationData base)

Constructor. The Sink must be set before parsing. The Importer can be set, otherwise [import locale] syntax is not supported.

Method Detail

appendErrorContextback to summary
private String appendErrorContext(String reason)
getOnOffValueback to summary
private static int getOnOffValue(String s)
getReorderCodeback to summary
public static int getReorderCode(String word)

Gets a script or reorder code from its string representation.

Returns:int

the script/reorder code, or -1 if not recognized

isSurrogateback to summary
private static final boolean isSurrogate(int c)
isSyntaxCharback to summary
private static boolean isSyntaxChar(int c)

ASCII [:P:] and [:S:]: [!-/ :-@ [-` {-~]

makeParseExceptionback to summary
private ParseException makeParseException(String reason)
parseback to summary
pack-priv void parse(String ruleString, CollationSettings outSettings) throws ParseException
parseback to summary
private void parse(String ruleString) throws ParseException
parseRelationOperatorback to summary
private int parseRelationOperator()
parseRelationStringsback to summary
private void parseRelationStrings(int strength, int i) throws ParseException
parseReorderingback to summary
private void parseReordering(CharSequence raw) throws ParseException
parseResetAndPositionback to summary
private int parseResetAndPosition() throws ParseException
parseRuleChainback to summary
private void parseRuleChain() throws ParseException
parseSettingback to summary
private void parseSetting() throws ParseException
parseSpecialPositionback to summary
private int parseSpecialPosition(int i, StringBuilder str) throws ParseException

Sets str to a contraction of U+FFFE and (U+2800 + Position).

Returns:int

rule index after the special reset position

parseStarredCharactersback to summary
private void parseStarredCharacters(int strength, int i) throws ParseException
parseStringback to summary
private int parseString(int i, StringBuilder raw) throws ParseException
parseTailoringStringback to summary
private int parseTailoringString(int i, StringBuilder raw) throws ParseException
parseUnicodeSetback to summary
private int parseUnicodeSet(int i, UnicodeSet set) throws ParseException
readWordsback to summary
private int readWords(int i, StringBuilder raw)
setImporterback to summary
pack-priv void setImporter(CollationRuleParser.Importer importerAlias)

Sets the pointer to an Importer object. The pointer is aliased: Pointer copy without cloning or taking ownership.

setParseErrorback to summary
private void setParseError(String reason) throws ParseException
setParseErrorback to summary
private void setParseError(String reason, Exception e) throws ParseException
setSinkback to summary
pack-priv void setSink(CollationRuleParser.Sink sinkAlias)

Sets the pointer to a Sink object. The pointer is aliased: Pointer copy without cloning or taking ownership.

skipCommentback to summary
private int skipComment(int i)
skipWhiteSpaceback to summary
private int skipWhiteSpace(int i)
com.ibm.icu.impl.coll back to summary

pack-priv Interface CollationRuleParser.Importer

Known Direct Implementers
com.ibm.icu.impl.coll.CollationBuilder.BundleImporter

Method Summary

Modifier and TypeMethod and Description
public String
getRules(String localeID, String collationType)

Method Detail

getRulesback to summary
public String getRules(String localeID, String collationType)
com.ibm.icu.impl.coll back to summary

pack-priv final Enum CollationRuleParser.Position

extends Enum<CollationRuleParser.Position>
Class Inheritance

Special reset positions.

Field Summary

Modifier and TypeField and Description
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position
public static final CollationRuleParser.Position

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static CollationRuleParser.Position
public static CollationRuleParser.Position[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

FIRST_IMPLICITback to summary
public static final CollationRuleParser.Position FIRST_IMPLICIT
FIRST_PRIMARY_IGNORABLEback to summary
public static final CollationRuleParser.Position FIRST_PRIMARY_IGNORABLE
FIRST_REGULARback to summary
public static final CollationRuleParser.Position FIRST_REGULAR
FIRST_SECONDARY_IGNORABLEback to summary
public static final CollationRuleParser.Position FIRST_SECONDARY_IGNORABLE
FIRST_TERTIARY_IGNORABLEback to summary
public static final CollationRuleParser.Position FIRST_TERTIARY_IGNORABLE
FIRST_TRAILINGback to summary
public static final CollationRuleParser.Position FIRST_TRAILING
FIRST_VARIABLEback to summary
public static final CollationRuleParser.Position FIRST_VARIABLE
LAST_IMPLICITback to summary
public static final CollationRuleParser.Position LAST_IMPLICIT
LAST_PRIMARY_IGNORABLEback to summary
public static final CollationRuleParser.Position LAST_PRIMARY_IGNORABLE
LAST_REGULARback to summary
public static final CollationRuleParser.Position LAST_REGULAR
LAST_SECONDARY_IGNORABLEback to summary
public static final CollationRuleParser.Position LAST_SECONDARY_IGNORABLE
LAST_TERTIARY_IGNORABLEback to summary
public static final CollationRuleParser.Position LAST_TERTIARY_IGNORABLE
LAST_TRAILINGback to summary
public static final CollationRuleParser.Position LAST_TRAILING
LAST_VARIABLEback to summary
public static final CollationRuleParser.Position LAST_VARIABLE

Constructor Detail

Positionback to summary
private Position()

Method Detail

valueOfback to summary
public static CollationRuleParser.Position valueOf(String name)
valuesback to summary
public static CollationRuleParser.Position[] values()
com.ibm.icu.impl.coll back to summary

pack-priv abstract Class CollationRuleParser.Sink

extends Object
Class Inheritance
Known Direct Subclasses
com.ibm.icu.impl.coll.CollationBuilder

Constructor Summary

AccessConstructor and Description
pack-priv
Sink()

Method Summary

Modifier and TypeMethod and Description
pack-priv abstract void
addRelation(int strength, CharSequence prefix, CharSequence str, CharSequence extension)

Adds a relation with strength and prefix | str / extension.

pack-priv abstract void
addReset(int strength, CharSequence str)

Adds a reset.

pack-priv void
pack-priv void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Sinkback to summary
pack-priv Sink()

Method Detail

addRelationback to summary
pack-priv abstract void addRelation(int strength, CharSequence prefix, CharSequence str, CharSequence extension)

Adds a relation with strength and prefix | str / extension.

addResetback to summary
pack-priv abstract void addReset(int strength, CharSequence str)

Adds a reset. strength=UCOL_IDENTICAL for &str. strength=UCOL_PRIMARY/UCOL_SECONDARY/UCOL_TERTIARY for &[before n]str where n=1/2/3.

optimizeback to summary
pack-priv void optimize(UnicodeSet set)
suppressContractionsback to summary
pack-priv void suppressContractions(UnicodeSet set)