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

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

?? abstractconfiguration.java

?? java servlet著名論壇源代碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
        return getShort(key, new Short(defaultValue)).shortValue();
    }

    /**
     * Get a short associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated short if key is found and has valid
     * format, default value otherwise.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Short.
     * @throws NumberFormatException is thrown if the value mapped
     * by the key has not a valid number format.
     */
    public Short getShort(String key, Short defaultValue)
    {
        Object value = resolveContainerStore(key);

        if (value instanceof Short)
        {
            return (Short) value;
        }
        else if (value instanceof String)
        {
            Short s = new Short((String) value);
            return s;
        }
        else if (value == null)
        {
            if (defaults != null)
            {
                return defaults.getShort(key, defaultValue);
            }
            else
            {
                log.warn("Use Short default value for key '" + key + "' (" + defaultValue + ")");
                return defaultValue;
            }
        }
        else
        {
            throw new ClassCastException(
                '\'' + key + "' doesn't map to a Short object");
        }
    }

    /**
     * Get a string associated with the given configuration key.
     *
     * @param key The configuration key.
     *
     * @return The associated string.
     *
     * @throws ClassCastException is thrown if the key maps to an object that
     *            is not a String.
     * @throws NoSuchElementException is thrown if the key doesn't
     *         map to an existing object.
     */
    public String getString(String key)
    {
        String s = getString(key, null);
        if (s != null)
        {
            return s;
        }
        else
        {
            throw new NoSuchElementException(
                '\'' + key + "' doesn't map to an existing object");
        }
    }

    /**
     * Get a string associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated string if key is found, default value otherwise.
     *
     * @throws ClassCastException is thrown if the key maps to an object that
     *            is not a String.
     */
    public String getString(String key, String defaultValue)
    {
        Object value = resolveContainerStore(key);

        if (value instanceof String)
        {
            return interpolate((String) value);
        }
        else if (value == null)
        {
            if (defaults != null)
            {
                return interpolate(defaults.getString(key, defaultValue));
            }
            else
            {
                log.warn("Use String default value for key '" + key + "' (" + defaultValue + ")");
                return interpolate(defaultValue);
            }
        }
        else
        {
            throw new ClassCastException(
                '\'' + key + "' doesn't map to a String object");
        }
    }

    /**
     * Get an array of strings associated with the given configuration
     * key.
     *
     * @param key The configuration key.
     *
     * @return The associated string array if key is found.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a String/Vector of Strings.
     */
    public String[] getStringArray(String key)
    {
        Object value = getPropertyDirect(key);

        String[] tokens;

        if (value instanceof String)
        {
            tokens = new String[1];

            tokens[0] = interpolate((String) value);
        }
        else if (value instanceof Container)
        {
            tokens = new String[((Container) value).size()];

            for (int i = 0; i < tokens.length; i++)
            {
                tokens[i] = interpolate((String) ((Container) value).get(i));
            }
        }
        else if (value == null)
        {
            if (defaults != null)
            {
                tokens = defaults.getStringArray(key);
            }
            else
            {
                tokens = new String[0];
            }
        }
        else
        {
            throw new ClassCastException(
                '\'' + key + "' doesn't map to a String/Vector object");
        }
        return tokens;
    }

    /**
     * Get a Vector of strings associated with the given configuration key.
     *
     * @param key The configuration key.
     *
     * @return The associated Vector.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Vector.
     * @throws NoSuchElementException is thrown if the key doesn't
     *         map to an existing object.
     */
    public Vector getVector(String key)
    {
        Vector v = getVector(key, null);
        if (v != null)
        {
            return v;
        }
        else
        {
            throw new NoSuchElementException(
                '\'' + key + "' doesn't map to an existing object");
        }
    }

    /**
     * Get a Vector of strings associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated Vector.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Vector.
     */
    public Vector getVector(String key, Vector defaultValue)
    {
        Object value = getPropertyDirect(key);
        Vector v = null;

        if (value instanceof String)
        {
            v = new Vector(1);
            v.addElement(value);
        }
        else if (value instanceof Container)
        {
            v = ((Container) value).asVector();
        }
        else if (value == null)
        {
            if (defaults != null)
            {
                v = defaults.getVector(key, defaultValue);
            }
            else
            {
                v = ((defaultValue == null) ? new Vector() : defaultValue);
            }
        }
        else
        {
            throw new ClassCastException(
                '\''
                    + key
                    + "' doesn't map to a Vector object: "
                    + value
                    + ", a "
                    + value.getClass().getName());
        }
        return v;
    }

    /**
     * Returns an object from the store described by the key.
     * If the value is a Container object, replace it with the
     * first object in the container
     *
     * @param key The property key.
     *
     * @return value Value, transparently resolving a possible
     *               Container dependency.
     */
    private Object resolveContainerStore(String key)
    {
        Object value = getPropertyDirect(key);
        if (value != null && value instanceof Container)
        {
            value = ((Container) value).get(0);
        }
        return value;
    }

    /**
     * This class divides into tokens a property value.  Token
     * separator is "," but commas into the property value are escaped
     * using the backslash in front.
     */
    class PropertiesTokenizer extends StringTokenizer
    {
        /** The property delimiter used while parsing (a comma). */
        static final String DELIMITER = ",";

        /**
         * Constructor.
         *
         * @param string A String.
         */
        public PropertiesTokenizer(String string)
        {
            super(string, DELIMITER);
        }

        /**
         * Check whether the object has more tokens.
         *
         * @return True if the object has more tokens.
         */
        public boolean hasMoreTokens()
        {
            return super.hasMoreTokens();
        }

        /**
         * Get next token.
         *
         * @return A String.
         */
        public String nextToken()
        {
            StringBuffer buffer = new StringBuffer();

            while (hasMoreTokens())
            {
                String token = super.nextToken();
                if (token.endsWith("\\"))
                {
                    buffer.append(token.substring(0, token.length() - 1));
                    buffer.append(DELIMITER);
                }
                else
                {
                    buffer.append(token);
                    break;
                }
            }
            return buffer.toString().trim();
        }
    } // class PropertiesTokenizer

    /**
     * Private Wrapper class for Vector, so we can distinguish between
     * Vector objects and our container
     */
    static class Container
    {
        /** We're wrapping a List object (A vector) */
        private List l = null;

        /**
         * C'tor
         */
        public Container()
        {
            l = new Vector(INITIAL_LIST_SIZE);
        }

        /**
         * Add an Object to the Container
         *
         * @param o The Object
         */
        public void add(Object o)
        {
            l.add(o);
        }

        /**
         * Returns the current size of the Container
         *
         * @return The Number of elements in the container
         */
        public int size()
        {
            return l.size();
        }

        /**
         * Returns the Element at an index
         *
         * @param index The Index
         * @return The element at that index
         */
        public Object get(int index)
        {
            return l.get(index);
        }

        /**
         * Returns an Iterator over the container objects
         *
         * @return An Iterator
         */
        public Iterator iterator()
        {
            return l.iterator();
        }

        /**
         * Returns the Elements of the Container as
         * a Vector. This is not the internal vector
         * element but a shallow copy of the internal
         * list. You may modify the returned list without
         * modifying the container.
         *
         * @return A Vector containing the elements of the Container.
         */
        public Vector asVector()
        {
            Vector v = new Vector(l.size());

            for (Iterator it = l.iterator(); it.hasNext();)
            {
                v.add(it.next());
            }
            return v;
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国一区二区三区| 国产精品欧美一区喷水| 欧美va在线播放| 久久精品视频一区| 亚洲欧洲制服丝袜| 日本vs亚洲vs韩国一区三区| 国产精品综合一区二区| 日本道色综合久久| 欧美成人官网二区| 亚洲人成在线观看一区二区| 免费成人在线影院| 国产a视频精品免费观看| 欧美亚洲动漫精品| 7777精品伊人久久久大香线蕉最新版| 毛片不卡一区二区| 美洲天堂一区二卡三卡四卡视频| 久久国产尿小便嘘嘘尿| 日本v片在线高清不卡在线观看| 国产乱国产乱300精品| 一本色道亚洲精品aⅴ| 日韩免费观看高清完整版| 国产精品视频麻豆| 美女被吸乳得到大胸91| 一本到不卡免费一区二区| 久久亚洲综合色| 亚洲国产精品影院| www.日韩大片| 精品奇米国产一区二区三区| 亚洲美腿欧美偷拍| 国产精品1024久久| 欧美一区二区三区视频免费| 综合激情网...| 国产毛片一区二区| 色综合久久久久网| 宅男噜噜噜66一区二区66| 国产精品麻豆久久久| 欧美揉bbbbb揉bbbbb| 欧美色图一区二区三区| 亚洲欧美另类在线| 国精产品一区一区三区mba桃花| 欧美一二区视频| 亚洲欧美乱综合| 天天综合色天天综合| 欧美一二三区在线观看| 蜜乳av一区二区| 成人国产精品免费| 日韩欧美黄色影院| 亚洲一区二区欧美激情| 91性感美女视频| 日本一区二区动态图| 极品美女销魂一区二区三区 | 色婷婷亚洲婷婷| 国产日韩高清在线| 国产一区二区三区免费在线观看 | 日韩中文字幕麻豆| 色狠狠综合天天综合综合| 欧美国产成人精品| 国产一区二区三区日韩| 欧美xxxxx牲另类人与| 日本欧美肥老太交大片| 欧美精品久久99| 亚洲高清在线精品| 欧美日韩mp4| 五月综合激情婷婷六月色窝| 欧美午夜电影在线播放| 亚洲一区免费在线观看| 91视频免费看| 日韩精品亚洲专区| 日韩美女在线视频| 亚洲另类色综合网站| 99久久夜色精品国产网站| 中文字幕电影一区| 成人免费三级在线| 国产精品久久久久久亚洲毛片| 国产伦精品一区二区三区在线观看| 日韩免费成人网| 激情六月婷婷久久| 久久精品一级爱片| 成人午夜激情影院| 日韩一区日韩二区| 91福利资源站| 午夜一区二区三区在线观看| 欧美美女直播网站| 麻豆久久久久久久| 国产亚洲制服色| 成人av网站免费观看| 亚洲图片欧美激情| 欧洲av在线精品| 婷婷国产v国产偷v亚洲高清| 欧美变态口味重另类| 国产在线精品一区二区三区不卡| 国产日本欧洲亚洲| 99国产精品视频免费观看| 亚洲乱码国产乱码精品精的特点| 欧美亚洲国产怡红院影院| 日韩经典一区二区| 国产午夜精品一区二区三区视频| 99久久久精品| 亚洲国产精品视频| 欧美mv日韩mv| 成人综合在线观看| 亚洲综合色成人| 91精品国产欧美一区二区成人| 老司机精品视频在线| 国产欧美久久久精品影院| 国产精品久久国产精麻豆99网站| 99久久99久久精品国产片果冻| 亚洲综合男人的天堂| 日韩免费一区二区三区在线播放| 国产黄色91视频| 亚洲精品国产一区二区精华液| 欧美电影在哪看比较好| 国产99久久久国产精品潘金 | 91在线视频在线| 亚洲bt欧美bt精品777| 久久综合一区二区| 色成人在线视频| 国产一区激情在线| 依依成人精品视频| 精品国产乱码久久久久久浪潮| 99国产精品视频免费观看| 蜜桃av噜噜一区| 悠悠色在线精品| 2021中文字幕一区亚洲| 欧美自拍偷拍午夜视频| 国产一区二区视频在线播放| 一区二区三区四区亚洲| 久久久久久久久久看片| 欧美日韩激情一区| 丁香婷婷综合色啪| 青青青爽久久午夜综合久久午夜| 中文字幕人成不卡一区| 精品久久一二三区| 欧美性色黄大片手机版| 国产91精品一区二区麻豆网站| 首页综合国产亚洲丝袜| 国产精品久久久久久亚洲毛片| 欧美成人一区二区三区片免费| 色屁屁一区二区| 国产+成+人+亚洲欧洲自线| 视频一区欧美精品| 亚洲欧美日韩国产一区二区三区| 精品国产伦一区二区三区观看方式 | 欧洲av在线精品| 成人成人成人在线视频| 久草精品在线观看| 午夜国产不卡在线观看视频| 18欧美亚洲精品| 久久久久9999亚洲精品| 欧美一级黄色片| 欧美日韩亚洲综合在线| 99精品视频一区二区三区| 国产一区亚洲一区| 日韩精品久久久久久| 亚洲夂夂婷婷色拍ww47| 中文字幕一区二区视频| 久久久美女毛片| 日韩欧美区一区二| 欧美精品久久久久久久多人混战 | 岛国av在线一区| 久久成人免费网| 日韩国产欧美一区二区三区| 亚洲欧美区自拍先锋| 亚洲欧洲成人精品av97| 国产精品麻豆视频| 日本一区二区三级电影在线观看 | 国产盗摄一区二区| 国产在线播放一区三区四| 美日韩一区二区| 日韩不卡手机在线v区| 亚洲国产一区视频| 亚洲综合精品久久| 亚洲私人黄色宅男| 亚洲欧洲日本在线| 国产精品国产三级国产普通话三级| 久久精品一区二区| 国产日韩欧美亚洲| 国产日韩亚洲欧美综合| 国产欧美日韩卡一| 国产精品全国免费观看高清| 日本一区二区三区电影| 国产农村妇女毛片精品久久麻豆| 国产日韩欧美精品在线| 久久久精品免费观看| 国产无一区二区| 国产日韩v精品一区二区| 国产精品免费人成网站| 中文字幕中文在线不卡住| 亚洲手机成人高清视频| 一区二区三区中文免费| 亚洲一区二区在线视频| 亚洲成人黄色小说| 免费人成在线不卡| 韩国一区二区视频| 东方aⅴ免费观看久久av| 99视频精品全部免费在线| 色哟哟一区二区| 欧美美女bb生活片| 久久综合色播五月| 国产精品丝袜久久久久久app|