RFR: 8165804: Revisit the way of loading BreakIterator rules/dictionaries

Masayoshi Okutsu masayoshi.okutsu at oracle.com
Thu Oct 20 08:33:16 UTC 2016


Please review the changes for JDK-8165804 which is a follow-up of 
JDK-8076757. Some notes on the changes.

- Removed INCLUDES := $(TEXT_PKG_LD) from 
make/gendata/GendataBreakIterator.gmk in order to avoid compiling 
non-BreakIterator*.java for the build tool with boot JDK.

- Added sun.util.resources.BreakIteratorResourceBundle which handles 
loading of rule data and dictionaries. BreadIteratorResources* are its 
subclasses in the java.base and jdk.localedata modules.

- In BreakIteratorResources*, regular ResourceBundle loading of 
BreakIteratorInfo* is avoided because a BreakIteratorInfo can't have its 
parent chain. For example, BreakIteratorInfo_th doesn't have the value 
for key "CharacterData" and BreakIteratorResources_th.handleGetObject() 
must return null for "CharacterData" rather than loading rule data given 
by the parent BreakIteratorInfo.

- Moved RuleBasedBreakIterator, DictionaryBasedBreakIterator, and 
BreakDictionary to sun.text. BreakIteratorProviderTest.java was changed 
to deal with this refactoring.




More information about the build-dev mailing list