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

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

?? custombase.java

?? 對xml很好的java處理引擎,編譯中綁定xml
?? JAVA
字號:
/*Copyright (c) 2007, Dennis M. SosnoskiAll rights reserved.Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this   list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice,   this list of conditions and the following disclaimer in the documentation   and/or other materials provided with the distribution. * Neither the name of JiBX nor the names of its contributors may be used   to endorse or promote products derived from this software without specific   prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FORANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/package org.jibx.binding.generator;import java.util.HashSet;import java.util.Set;import org.jibx.runtime.EnumSet;/** * Base class for all customizations. This defines a way to navigate up the tree * of nested components without making assumptions about the specific type of * the containing components. This allows for other types of customizations, * beyond the binding customizations included directly in this package. This * also includes enumeration definitions which are used with both base and * extension customizations. */public class CustomBase{    // name style value set information    public static final int CAMEL_CASE_NAMES = 0;    public static final int UPPER_CAMEL_CASE_NAMES = 1;    public static final int HYPHENATED_NAMES = 2;    public static final int DOTTED_NAMES = 3;    public static final int UNDERSCORED_NAMES = 4;        public static final EnumSet s_nameStyleEnum = new EnumSet(CAMEL_CASE_NAMES,        new String[] { "camel-case", "upper-camel-case", "hyphenated", "dotted",        "underscored" });        // require value set information    public static final int REQUIRE_NONE = 0;    public static final int REQUIRE_PRIMITIVES = 1;    public static final int REQUIRE_OBJECTS = 2;    public static final int REQUIRE_ALL = 3;        public static final EnumSet s_requireEnum = new EnumSet(REQUIRE_NONE,        new String[] { "none", "primitives", "objects", "all" });        // derive-namespace value set information    public static final int DERIVE_NONE = 0;    public static final int DERIVE_BY_PACKAGE = 1;    public static final int DERIVE_FIXED = 2;        public static final EnumSet s_namespaceStyleEnum = new EnumSet(DERIVE_NONE,        new String[] { "none", "package", "fixed" });        // parent element (null if none) - would be final, except for unmarshalling    private SharedNestingBase m_parent;        /**     * Constructor.     *      * @param parent     */    public CustomBase(SharedNestingBase parent) {        m_parent = parent;    }    /**     * Get container.     *     * @return container     */    public SharedNestingBase getParent() {        return m_parent;    }    /**     * Get global customizations root.     *     * @return global customization     */    public GlobalCustom getGlobal() {        CustomBase parent = m_parent;        while (!(parent instanceof GlobalCustom)) {            parent = parent.getParent();        }        return (GlobalCustom)parent;    }        /**     * Utility method to build a set from an array of names.     *     * @param names (<code>null</code> if none)     * @return name set (<code>null</code> if none)     */    protected static Set nameSet(String[] names) {        if (names == null) {            return null;        } else {            HashSet set = new HashSet();            for (int i = 0; i < names.length; i++) {                set.add(names[i].toLowerCase());            }            return set;        }    }        /**     * Convert class, method, or parameter name to XML name.     *     * @param base class or simple field name to be converted     * @param code conversion format style code     * @return XML name     */    public static String convertName(String base, int code) {                // strip off trailing array indication        while (base.endsWith("[]")) {            base = base.substring(0, base.length()-2);        }                // skip any leading special characters in name        int length = base.length();        int offset = -1;        char chr = 0;        while (++offset < length &&            ((chr = base.charAt(offset)) == '_' || (chr == '$')));        if (offset >= length) {            return "_";        } else {                        // make sure valid first character of name            StringBuffer buff = new StringBuffer();            if (Character.isDigit(chr)) {                buff.append('_');            }                        // scan for word splits in supplied name            boolean split = true;            boolean caps = false;            while (offset < length) {                                // split if underscore or change to upper case, or upper ending                chr = base.charAt(offset++);                boolean nextlower = offset < length &&                    !Character.isUpperCase(base.charAt(offset));                if (chr == '_') {                    split = true;                    continue;                } else if (Character.isUpperCase(chr)) {                    if (!caps || nextlower) {                        split = true;                    }                }                if (split) {                                        // convert word break                    caps = !nextlower;                    boolean tolower = nextlower || offset == length;                    char separator = 0;                    switch (code) {                                                case CAMEL_CASE_NAMES:                        {                            if (buff.length() != 0) {                                chr = Character.toUpperCase(chr);                                tolower = false;                            }                            break;                        }                                                case UPPER_CAMEL_CASE_NAMES:                        {                            tolower = false;                            chr = Character.toUpperCase(chr);                            break;                        }                                                case HYPHENATED_NAMES:                        {                            separator = '-';                            break;                        }                                                case DOTTED_NAMES:                        {                            separator = '.';                            break;                        }                                                case UNDERSCORED_NAMES:                        {                            separator = '_';                            break;                        }                                            }                    if (separator > 0 && buff.length() > 0) {                        buff.append(separator);                    }                    if (tolower) {                        chr = Character.toLowerCase(chr);                    }                    split = false;                                    }                if (chr != '$') {                                        // no split, just append the character                    buff.append(chr);                                    }            }            return buff.toString();        }    }        /**     * Derive name for item in a collection. If the supplied collection name     * ends in a recognized plural form the derived item name is the singular     * version of the collection name. Otherwise, it is the converted name of     * the collection item class, or just "item" if the class is unknown.     *     * @param cname collection name     * @param type item type (<code>null</code> if unknown)     * @param code conversion format style code     * @return item name     */    public static String deriveItemName(String cname, String type, int code) {        if (cname.endsWith("ies")) {            return cname.substring(0, cname.length()-3) + 'y';        } else if (cname.endsWith("sses")) {            return cname.substring(0, cname.length()-2);        } else if (cname.endsWith("s")) {            return cname.substring(0, cname.length()-1);        } else if (type != null && !"java.lang.Object".equals(type)) {            return convertName(type.substring(type.lastIndexOf('.')+1), code);        } else {            return "item";        }    }        /**     * Get the package from a fully-qualified type name.     *     * @param type fully-qualified type name     * @return package of the type (empty string if in default package)     */    public static String packageOfType(String type) {        int split = type.lastIndexOf('.');        if (split >= 0) {            return type.substring(0, split);        } else {            return "";        }    }    /**     * Create a namespace URL from a package path.     *      * @param pkgpth fully-qualified package name     * @return namespace based on package (<code>null</code> if none)     */    public static String packageToNamespace(String pkgpth) {        int mark = pkgpth.indexOf('.');        if (mark >= 0) {            StringBuffer buff = new StringBuffer();            buff.append("http://");            String comp = pkgpth.substring(0, mark);            int base = mark + 1;            char delim = '.';            if ("com".equals(comp) || "net".equals(comp) || "org".equals(comp)) {                mark = pkgpth.indexOf('.', base);                if (mark > 0) {                    buff.append(pkgpth.substring(base, mark));                } else {                    buff.append(pkgpth.substring(base));                }                buff.append('.');                base = mark + 1;                delim = '/';            }            buff.append(comp);            while (mark > 0) {                buff.append(delim);                base = mark + 1;                mark = pkgpth.indexOf('.', base);                if (mark > 0) {                    buff.append(pkgpth.substring(base, mark));                } else {                    buff.append(pkgpth.substring(base));                }            }            return buff.toString();        } else {            return null;        }    }        /**     * Derive namespace using specified technique.     *     * @param uri base namespace URI (<code>null</code> if none)     * @param pkgpth fully qualified package name     * @param style namespace style code     * @return derived namespace     */    public static String deriveNamespace(String uri, String pkgpth, int style) {        switch (style) {            case DERIVE_NONE:                return null;                            case DERIVE_FIXED:                return uri;                            case DERIVE_BY_PACKAGE:            {                if (uri == null) {                    return packageToNamespace(pkgpth);                } else if (pkgpth == null) {                    return uri;                } else {                                        // append the last package to passed URI                    String pack;                    int start = pkgpth.lastIndexOf('.');                    if (start >= 0) {                        pack = pkgpth.substring(start+1);                    } else {                        pack = pkgpth;                    }                    if (uri.endsWith("/")) {                        return uri + pack;                    } else {                        return uri + '/' + pack;                    }                }            }                        default:                throw new IllegalStateException("Invalid style code");        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费黄网站欧美| 樱桃国产成人精品视频| 国产精品视频一区二区三区不卡| 中文字幕亚洲综合久久菠萝蜜| 亚洲国产一区视频| 精品在线你懂的| 色偷偷久久一区二区三区| 日韩一级欧美一级| 亚洲欧美另类综合偷拍| 国产综合色视频| 欧美日韩欧美一区二区| 国产精品麻豆欧美日韩ww| 麻豆91在线播放| 色噜噜狠狠色综合欧洲selulu| 久久亚洲精精品中文字幕早川悠里 | 91免费版pro下载短视频| 欧美大尺度电影在线| 亚洲国产一区二区三区| 成人黄色国产精品网站大全在线免费观看| 制服丝袜亚洲精品中文字幕| 最新国产成人在线观看| 国产成人免费xxxxxxxx| 久久伊人中文字幕| 麻豆精品在线播放| 日韩三级在线观看| 日韩av一区二| 欧美日韩国产综合一区二区| 亚洲精品中文字幕乱码三区| 99久久精品国产一区二区三区 | 国产精品毛片久久久久久| 久久99久久久久| 欧美一区二区久久| 视频在线观看91| 7777精品伊人久久久大香线蕉| 一区二区三区日韩精品| 不卡一二三区首页| 日韩伦理电影网| 97aⅴ精品视频一二三区| 中文字幕日本不卡| 色综合激情久久| 亚洲永久免费视频| 欧美精品久久一区二区三区| 日本亚洲一区二区| 欧美电影免费观看高清完整版在 | 一区二区三区四区在线| 日本丶国产丶欧美色综合| 亚洲第一主播视频| 日韩欧美电影一区| 国产综合色产在线精品| 中文字幕成人av| 99riav一区二区三区| 亚洲在线视频一区| 日韩一卡二卡三卡四卡| 成人综合激情网| 亚洲色图一区二区| 欧美剧在线免费观看网站 | 日本韩国视频一区二区| 午夜日韩在线电影| 欧美电影免费观看高清完整版在线 | 717成人午夜免费福利电影| 免费三级欧美电影| 欧美国产日韩亚洲一区| 在线观看成人小视频| 日本成人在线一区| 国产精品高清亚洲| 欧美日韩激情一区二区| 国产精品亚洲午夜一区二区三区| 亚洲日穴在线视频| 337p亚洲精品色噜噜噜| 国产成人久久精品77777最新版本| 国产精品久久久久影院老司| 欧美色网一区二区| 国产成人免费9x9x人网站视频| 亚洲综合男人的天堂| xnxx国产精品| 欧美少妇一区二区| 成人久久视频在线观看| 午夜久久久影院| 最近日韩中文字幕| 精品久久久久久久久久久久包黑料 | 久久嫩草精品久久久精品一| www.综合网.com| 日本欧美肥老太交大片| √…a在线天堂一区| 精品乱人伦小说| 欧美美女网站色| av电影在线观看完整版一区二区| 青草国产精品久久久久久| 亚洲欧美影音先锋| 2020日本不卡一区二区视频| 欧亚洲嫩模精品一区三区| 成人性生交大片免费看视频在线 | 99久久精品99国产精品 | 成人手机电影网| 免费精品99久久国产综合精品| 亚洲精品中文字幕在线观看| 国产日韩欧美精品在线| 欧美日韩国产高清一区二区三区| 97久久精品人人做人人爽| 国产露脸91国语对白| 蜜桃视频一区二区三区在线观看| 亚洲欧美另类久久久精品| 国产精品久久久久永久免费观看 | 欧美国产精品劲爆| 精品欧美乱码久久久久久1区2区| 欧美精选在线播放| 在线视频国内自拍亚洲视频| 91影视在线播放| 成人av在线一区二区| 国产福利精品一区| 国产一区二区在线影院| 久久精品999| 蜜臀精品一区二区三区在线观看| 亚洲成人1区2区| 亚洲va天堂va国产va久| 五月天一区二区三区| 亚洲一区二区四区蜜桃| 亚洲精品国产精华液| 亚洲乱码国产乱码精品精可以看 | 成人污污视频在线观看| 丰满少妇久久久久久久| 国产盗摄视频一区二区三区| 国产一区二区三区久久悠悠色av| 精品一区二区影视| 国产精品18久久久久| 国产成都精品91一区二区三| 成人久久18免费网站麻豆| 99久久国产综合精品色伊| 日本电影亚洲天堂一区| 8x8x8国产精品| 日韩免费视频一区二区| xnxx国产精品| 中文字幕在线不卡一区| 一区二区三区视频在线看| 亚洲一区二区三区四区不卡 | 亚洲天堂网中文字| 一区二区三区四区精品在线视频| 亚洲午夜三级在线| 午夜影院久久久| 国产精品影视天天线| 99国产精品久久久久久久久久久| 欧美影院午夜播放| 精品国产乱码久久久久久久 | 丁香五精品蜜臀久久久久99网站| 成人免费视频视频| 欧洲一区二区三区在线| 精品卡一卡二卡三卡四在线| 亚洲欧洲日韩av| 日韩专区中文字幕一区二区| 国产制服丝袜一区| 色激情天天射综合网| 日韩欧美卡一卡二| 成人免费小视频| 日本va欧美va精品| av电影天堂一区二区在线观看| 欧美日韩综合不卡| 国产欧美综合色| 丝袜亚洲精品中文字幕一区| 国产激情一区二区三区四区| 欧美日韩高清一区二区| 国产日韩欧美不卡在线| 亚洲国产日韩一区二区| 国产99久久久久| 3d成人h动漫网站入口| 欧美激情一区二区三区| 日本免费在线视频不卡一不卡二| 成人毛片老司机大片| 欧美大尺度电影在线| 亚洲午夜免费视频| 成人性生交大片免费看中文网站| 7777精品伊人久久久大香线蕉经典版下载 | 国产欧美一区二区三区网站| 亚洲午夜免费电影| 成人av电影在线观看| 日韩欧美一二区| 五月综合激情网| 99re这里只有精品6| 中文字幕欧美日韩一区| 美腿丝袜亚洲色图| 欧美日韩精品一区二区三区四区| 国产精品女主播av| 国产综合色在线视频区| 91精品国产综合久久精品app | 26uuu国产一区二区三区| 亚洲国产一区二区在线播放| 99精品视频在线观看免费| 久久久久久免费| 免费精品视频在线| 日韩一区二区免费在线电影| 亚洲高清不卡在线观看| 91小视频免费看| 国产精品久久久久久亚洲毛片| 国产麻豆视频一区二区| 亚洲精品在线三区| 久久精品国产亚洲5555| 51久久夜色精品国产麻豆| 亚洲国产aⅴ天堂久久| 在线观看av不卡| 亚洲一区二区精品久久av| 91精品福利在线|