< prev index next >

src/java.base/share/classes/sun/text/DictionaryBasedBreakIterator.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -36,14 +36,12 @@
  *
  * This notice and attribution to Taligent may not be removed.
  * Taligent is a registered trademark of Taligent, Inc.
  */
 
-package sun.util.locale.provider;
+package sun.text;
 
-import java.io.IOException;
-import java.lang.reflect.Module;
 import java.text.CharacterIterator;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Stack;
 

@@ -70,11 +68,11 @@
  * and won't find it in JAR files, but this location is likely to change).  The
  * dictionary file is in a serialized binary format.  We have a very primitive (and
  * slow) BuildDictionaryFile utility for creating dictionary files, but aren't
  * currently making it public.  Contact us for help.
  */
-class DictionaryBasedBreakIterator extends RuleBasedBreakIterator {
+public class DictionaryBasedBreakIterator extends RuleBasedBreakIterator {
 
     /**
      * a list of known words that is used to divide up contiguous ranges of letters,
      * stored in a compressed, indexed, format that offers fast access
      */

@@ -107,22 +105,26 @@
      */
     private int positionInCache;
 
     /**
      * Constructs a DictionaryBasedBreakIterator.
-     * @param module The module where the dictionary file resides
-     * @param dictionaryFilename The filename of the dictionary file to use
-     */
-    DictionaryBasedBreakIterator(Module module, String dataFile, String dictionaryFile)
-                                        throws IOException {
-        super(module, dataFile);
+     *
+     * @param ruleFile       the name of the rule data file
+     * @param ruleData       the rule data loaded from the rule data file
+     * @param dictionaryFile the name of the dictionary file
+     * @param dictionartData the dictionary data loaded from the dictionary file
+     * @throws MissingResourceException if rule data or dictionary initialization failed
+     */
+    public DictionaryBasedBreakIterator(String ruleFile, byte[] ruleData,
+                                        String dictionaryFile, byte[] dictionaryData) {
+        super(ruleFile, ruleData);
         byte[] tmp = super.getAdditionalData();
         if (tmp != null) {
             prepareCategoryFlags(tmp);
             super.setAdditionalData(null);
         }
-        dictionary = new BreakDictionary(module, dictionaryFile);
+        dictionary = new BreakDictionary(dictionaryFile, dictionaryData);
     }
 
     private void prepareCategoryFlags(byte[] data) {
         categoryFlags = new boolean[data.length];
         for (int i = 0; i < data.length; i++) {
< prev index next >