private int getCE ( int sourcece ) { // note for tertiary we can't use the collator->tertiaryMask, that // is a preprocessed mask that takes into account case options. since // we are only concerned with exact matches, we don't need that. sourcece &= ceMask_ ; if ( toShift_ ) { // alternate handling here, since only the 16 most significant digits // is only used, we can safely do a compare without masking // if the ce is a variable, we mask and get only the primary values // no shifting to quartenary is required since all primary values // less than variabletop will need to be masked off anyway. if ( variableTop_ > sourcece ) { if ( strength_ >= Collator . QUATERNARY ) { sourcece &= PRIMARYORDERMASK ; } else { sourcece = CollationElementIterator . IGNORABLE ; } } } else if ( strength_ >= Collator . QUATERNARY && sourcece == CollationElementIterator . IGNORABLE ) { sourcece = 0xFFFF ; } return sourcece ; }
Getting the modified collation elements taking into account the collation attributes .