亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rbcollationtables.java

?? This is a resource based on j2me embedded,if you dont understand,you can connection with me .
?? JAVA
字號:
/* * * %W% %E% * * Portions Copyright  2000-2008 Sun Microsystems, Inc. All Rights * Reserved.  Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER *  * This program 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. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). *  * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA *  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. *//* * (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved * (C) Copyright IBM Corp. 1996-1998 - All Rights Reserved * *   The original version of this source code and documentation is copyrighted * and owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These * materials are provided under terms of a License Agreement between Taligent * and Sun. This technology is protected by multiple US and International * patents. This notice and attribution to Taligent may not be removed. *   Taligent is a registered trademark of Taligent, Inc. * */package java.text;import java.util.Vector;import sun.text.CompactIntArray;import sun.text.IntHashtable;/** * This class contains the static state of a RuleBasedCollator: The various * tables that are used by the collation routines.  Several RuleBasedCollators * can share a single RBCollationTables object, easing memory requirements and * improving performance. */final class RBCollationTables {    //===========================================================================================    //  The following diagram shows the data structure of the RBCollationTables object.    //  Suppose we have the rule, where 'o-umlaut' is the unicode char 0x00F6.    //  "a, A < b, B < c, C, ch, cH, Ch, CH < d, D ... < o, O; 'o-umlaut'/E, 'O-umlaut'/E ...".    //  What the rule says is, sorts 'ch'ligatures and 'c' only with tertiary difference and    //  sorts 'o-umlaut' as if it's always expanded with 'e'.    //    // mapping table                     contracting list           expanding list    // (contains all unicode char    //  entries)                   ___    ____________       _________________________    //  ________                +>|_*_|->|'c' |v('c') |  +>|v('o')|v('umlaut')|v('e')|    // |_\u0001_|-> v('\u0001') | |_:_|  |------------|  | |-------------------------|    // |_\u0002_|-> v('\u0002') | |_:_|  |'ch'|v('ch')|  | |             :           |    // |____:___|               | |_:_|  |------------|  | |-------------------------|    // |____:___|               |        |'cH'|v('cH')|  | |             :           |    // |__'a'___|-> v('a')      |        |------------|  | |-------------------------|    // |__'b'___|-> v('b')      |        |'Ch'|v('Ch')|  | |             :           |    // |____:___|               |        |------------|  | |-------------------------|    // |____:___|               |        |'CH'|v('CH')|  | |             :           |    // |___'c'__|----------------         ------------   | |-------------------------|    // |____:___|                                        | |             :           |    // |o-umlaut|----------------------------------------  |_________________________|    // |____:___|    //    // Noted by Helena Shih on 6/23/97    //============================================================================================    public RBCollationTables(String rules, int decmp) throws ParseException {        this.rules = rules;        RBTableBuilder builder = new RBTableBuilder(new BuildAPI());        builder.build(rules, decmp); // this object is filled in through                                            // the BuildAPI object    }    final class BuildAPI {        /**         * Private constructor.  Prevents anyone else besides RBTableBuilder         * from gaining direct access to the internals of this class.         */        private BuildAPI() {        }        /**         * This function is used by RBTableBuilder to fill in all the members of this         * object.  (Effectively, the builder class functions as a "friend" of this         * class, but to avoid changing too much of the logic, it carries around "shadow"         * copies of all these variables until the end of the build process and then         * copies them en masse into the actual tables object once all the construction         * logic is complete.  This function does that "copying en masse".         * @param f2ary The value for frenchSec (the French-secondary flag)	 * @param swap The value for SE Asian swapping rule         * @param map The collator's character-mapping table (the value for mapping)         * @param cTbl The collator's contracting-character table (the value for contractTable)         * @param eTbl The collator's expanding-character table (the value for expandTable)         * @param cFlgs The hash table of characters that participate in contracting-         *              character sequences (the value for contractFlags)         * @param mso The value for maxSecOrder         * @param mto The value for maxTerOrder         */        void fillInTables(boolean f2ary,			  boolean swap,                          CompactIntArray map,                          Vector cTbl,                          Vector eTbl,                          IntHashtable cFlgs,                          short mso,                          short mto) {            frenchSec = f2ary;	    seAsianSwapping = swap;            mapping = map;            contractTable = cTbl;            expandTable = eTbl;            contractFlags = cFlgs;            maxSecOrder = mso;            maxTerOrder = mto;        }    }    /**     * Gets the table-based rules for the collation object.     * @return returns the collation rules that the table collation object     * was created from.     */    public String getRules()    {        return rules;    }    public boolean isFrenchSec() {        return frenchSec;    }        public boolean isSEAsianSwapping() {        return seAsianSwapping;    }        // ==============================================================          // internal (for use by CollationElementIterator)    // ==============================================================    /**     *  Get the entry of hash table of the contracting string in the collation     *  table.     *  @param ch the starting character of the contracting string     */    Vector getContractValues(char ch)    {        int index = mapping.elementAt(ch);        return getContractValues(index - CONTRACTCHARINDEX);    }    Vector getContractValues(int index)    {        if (index >= 0)        {            return (Vector)contractTable.elementAt(index);        }        else // not found        {            return null;        }    }    /**     * Returns true if this character appears anywhere in a contracting     * character sequence.  (Used by CollationElementIterator.setOffset().)     */    boolean usedInContractSeq(char c) {        return contractFlags.get(c) == 1;    }    /**      * Return the maximum length of any expansion sequences that end      * with the specified comparison order.      *      * @param order a collation order returned by previous or next.      * @return the maximum length of any expansion seuences ending      *         with the specified order.      *      * @see CollationElementIterator#getMaxExpansion      */    int getMaxExpansion(int order)    {        int result = 1;        if (expandTable != null) {            // Right now this does a linear search through the entire            // expandsion table.  If a collator had a large number of expansions,            // this could cause a performance problem, but in practise that            // rarely happens            for (int i = 0; i < expandTable.size(); i++) {                int[] valueList = (int [])expandTable.elementAt(i);                int length = valueList.length;                if (length > result && valueList[length-1] == order) {                    result = length;                }            }        }        return result;    }    /**     *  Get the entry of hash table of the expanding string in the collation     *  table.     *  @param idx the index of the expanding string value list     */    final int[] getExpandValueList(int order) {        return (int[])expandTable.elementAt(order - EXPANDCHARINDEX);    }    /**     *  Get the comarison order of a character from the collation table.     *  @return the comparison order of a character.     */    int getUnicodeOrder(char ch)    {        return mapping.elementAt(ch);    }    short getMaxSecOrder() {        return maxSecOrder;    }    short getMaxTerOrder() {        return maxTerOrder;    }    /**     * Reverse a string.     */    static void reverse (StringBuffer result, int from, int to)    {        int i = from;        char swap;        int j = to - 1;        while (i < j) {            swap =  result.charAt(i);            result.setCharAt(i, result.charAt(j));            result.setCharAt(j, swap);            i++;            j--;        }    }    final static int getEntry(Vector list, String name, boolean fwd) {        for (int i = 0; i < list.size(); i++) {            EntryPair pair = (EntryPair)list.elementAt(i);            if (pair.fwd == fwd && pair.entryName.equals(name)) {                return i;            }        }        return UNMAPPED;    }    // ==============================================================    // constants    // ==============================================================    final static int EXPANDCHARINDEX = 0x7E000000; // Expand index follows    final static int CONTRACTCHARINDEX = 0x7F000000;  // contract indexes follow    final static int UNMAPPED = 0xFFFFFFFF;    final static int PRIMARYORDERMASK = 0xffff0000;    final static int SECONDARYORDERMASK = 0x0000ff00;    final static int TERTIARYORDERMASK = 0x000000ff;    final static int PRIMARYDIFFERENCEONLY = 0xffff0000;    final static int SECONDARYDIFFERENCEONLY = 0xffffff00;    final static int PRIMARYORDERSHIFT = 16;    final static int SECONDARYORDERSHIFT = 8;    // ==============================================================    // instance variables    // ==============================================================    private String rules = null;    private boolean frenchSec = false;    private boolean seAsianSwapping = false;    private CompactIntArray mapping = null;    private Vector contractTable = null;    private Vector expandTable = null;    private IntHashtable contractFlags = null;    private short maxSecOrder = 0;    private short maxTerOrder = 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一区二区在线观看| 激情欧美一区二区| 午夜视频在线观看一区二区 | 午夜精品福利一区二区三区av | 三级亚洲高清视频| 2023国产精品视频| 欧美激情一区二区三区不卡| 亚洲精品日产精品乱码不卡| 午夜在线成人av| 成人毛片视频在线观看| 91福利在线导航| 欧美成人a∨高清免费观看| 亚洲免费在线观看| 国产精品538一区二区在线| 欧美日韩在线一区二区| 国产网红主播福利一区二区| 青青草原综合久久大伊人精品| 99久久99久久综合| 26uuu成人网一区二区三区| 天天亚洲美女在线视频| 在线一区二区视频| 日本一区二区免费在线 | 麻豆国产欧美一区二区三区| 高清在线观看日韩| av高清不卡在线| 日本精品一区二区三区高清| 午夜久久久影院| 日韩国产一区二| 色老汉av一区二区三区| 中文字幕日韩av资源站| 欧美高清视频www夜色资源网| 91麻豆精品国产综合久久久久久| 中文字幕一区av| 国产成人av一区二区三区在线| 91精品国产欧美一区二区成人| 亚洲永久精品国产| 一本色道久久综合狠狠躁的推荐| 国产精品私人影院| 成人小视频在线观看| 久久综合九色综合97_久久久| 亚洲欧洲日本在线| 五月婷婷激情综合网| 色狠狠一区二区三区香蕉| 中文字幕一区二区三区色视频| 成人免费不卡视频| 国产精品久久久久9999吃药| 欧美人xxxx| 色婷婷综合五月| 97精品电影院| 在线观看一区二区视频| 久久亚洲精精品中文字幕早川悠里| 欧美午夜精品免费| 日韩一区二区在线观看视频| 美女精品一区二区| 日韩欧美的一区| 国产伦精品一区二区三区免费| 久久综合色8888| 粉嫩久久99精品久久久久久夜| 国产欧美一区二区精品仙草咪| 成人午夜在线视频| 亚洲啪啪综合av一区二区三区| 欧美在线视频全部完| 亚洲亚洲精品在线观看| 91麻豆精品国产91久久久久久久久| 男女视频一区二区| 久久人人97超碰com| 国产成人午夜片在线观看高清观看| 欧美日韩大陆在线| 国产成人免费视频精品含羞草妖精| 久久蜜桃香蕉精品一区二区三区| 国产乱人伦精品一区二区在线观看| 欧美大肚乱孕交hd孕妇| 日本一区二区三区久久久久久久久不 | 国产精品视频一二| 成人97人人超碰人人99| 亚洲精品日韩综合观看成人91| 精品视频在线视频| 亚洲成人黄色小说| 精品成人一区二区| 色悠悠亚洲一区二区| 久久国产人妖系列| 久久影院午夜片一区| 色哟哟日韩精品| 免费精品视频在线| 国产精品久久免费看| 欧美老肥妇做.爰bbww| 加勒比av一区二区| 亚洲人午夜精品天堂一二香蕉| 国产精品久久久久久久蜜臀| 日本一区二区视频在线观看| 精品第一国产综合精品aⅴ| 亚洲欧美激情一区二区| 国产露脸91国语对白| 欧美韩国日本不卡| 日韩欧美123| av在线不卡观看免费观看| 亚洲成人在线观看视频| 欧美大片一区二区三区| 石原莉奈在线亚洲三区| 国产清纯白嫩初高生在线观看91 | 久久99精品久久久久婷婷| 成人免费小视频| 亚洲精品一区二区三区香蕉| 99re8在线精品视频免费播放| 国产在线一区二区| 亚洲 欧美综合在线网络| 亚洲免费av观看| 中文字幕av一区二区三区免费看| 欧美一二三在线| 欧美久久久久久久久| 欧美一区二区三区视频在线| 久久影音资源网| 亚洲综合免费观看高清完整版在线 | 国产剧情一区在线| 日本不卡一区二区三区高清视频| 亚洲精品视频一区二区| 18欧美乱大交hd1984| 国产精品全国免费观看高清| 久久久久久**毛片大全| 制服丝袜亚洲网站| 337p亚洲精品色噜噜狠狠| 精品视频免费在线| 欧美日韩一区二区在线观看| 欧美午夜精品一区二区蜜桃| 一区精品在线播放| 7777精品久久久大香线蕉| 欧美日韩专区在线| 3751色影院一区二区三区| 91精品国产91久久久久久最新毛片| 欧美日韩一区三区四区| 51精品国自产在线| 精品乱人伦小说| 精品噜噜噜噜久久久久久久久试看| 精品免费日韩av| 国产日韩欧美亚洲| 亚洲欧洲综合另类在线| 一区二区三区欧美| 日韩av网站免费在线| 国产一区欧美二区| 成人福利在线看| 欧美色老头old∨ideo| 日韩视频一区二区| 26uuu精品一区二区| 国产精品国产自产拍高清av王其| 日韩视频一区二区| 精品国精品自拍自在线| 国产精品乱码一区二三区小蝌蚪| 亚洲精品欧美激情| 免费成人结看片| 国产在线视视频有精品| a在线欧美一区| 欧美乱妇20p| 亚洲精品在线三区| 亚洲视频1区2区| 日韩电影一区二区三区四区| 亚洲一区二区三区美女| 狠狠色狠狠色综合系列| 99免费精品在线观看| 欧美亚洲国产一区在线观看网站| 欧美美女激情18p| 4438成人网| 中文字幕在线观看不卡视频| 中文成人综合网| 中文字幕一区二区三区av| 日本强好片久久久久久aaa| 丰满亚洲少妇av| 日韩片之四级片| 亚洲综合另类小说| 成人自拍视频在线观看| 日韩欧美国产麻豆| 一区二区三区中文在线| 国产999精品久久| 精品日韩一区二区| 视频一区二区欧美| 91网站黄www| 中文成人av在线| 五月天一区二区| 成人久久18免费网站麻豆| 日韩一区二区三区av| 一区二区三区精品久久久| 国产成人综合在线观看| 欧美日韩在线免费视频| 久久亚洲综合色| 亚洲精品高清视频在线观看| 国产成人免费av在线| 日韩视频免费观看高清完整版| 久久一区二区三区国产精品| 日本麻豆一区二区三区视频| 成人av免费在线| 国产日韩成人精品| 韩国一区二区三区| 欧美sm美女调教| 免费视频最近日韩| 91精品免费在线观看| 亚洲男人的天堂av| av欧美精品.com| 亚洲欧美在线另类| a在线欧美一区| 日韩伦理免费电影| 成人av一区二区三区|