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

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

?? abstractconfiguration.java

?? java servlet著名論壇源代碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
                 *
                 * QUESTION: getProperty or getPropertyDirect
                 */
                Object value = getProperty((String) key);
                if (value instanceof String)
                {
                    c.addPropertyDirect(newKey, interpolate((String) value));
                }
                else
                {
                    c.addProperty(newKey, value);
                }
            }
        }

        if (validSubset)
        {
            return c;
        }
        else
        {
            return null;
        }
    }

    /**
     * Check if the configuration is empty
     *
     * @return <code>true</code> if Configuration is empty,
     * <code>false</code> otherwise.
     */
    public abstract boolean isEmpty();

    /**
     * check if the configuration contains the key
     *
     * @param key the configuration key
     *
     * @return <code>true</code> if Configuration contain given key,
     * <code>false</code> otherwise.
     */
    public abstract boolean containsKey(String key);

    /**
     * Set a property, this will replace any previously
     * set values. Set values is implicitly a call
     * to clearProperty(key), addProperty(key,value).
     *
     * @param key the configuration key
     * @param value the property value
     */
    public void setProperty(String key, Object value)
    {
        clearProperty(key);
        addProperty(key, value); // QUESTION: or addPropertyDirect?
    }

    /**
     * Clear a property in the configuration.
     *
     * @param key the key to remove along with corresponding value.
     */
    public  abstract void clearProperty(String key);

    /**
     * Get the list of the keys contained in the configuration
     * repository.
     *
     * @return An Iterator.
     */
    public abstract Iterator getKeys();

    /**
     * Get the list of the keys contained in the configuration
     * repository that match the specified prefix.
     *
     * @param prefix The prefix to test against.
     *
     * @return An Iterator of keys that match the prefix.
     */
    public Iterator getKeys(String prefix)
    {
        Iterator keys = getKeys();
        ArrayList matchingKeys = new ArrayList();

        while (keys.hasNext())
        {
            Object key = keys.next();

            if (key instanceof String && ((String) key).startsWith(prefix))
            {
                matchingKeys.add(key);
            }
        }
        return matchingKeys.iterator();
    }

    /**
     * Get a list of properties associated with the given
     * configuration key.
     *
     * @param key The configuration key.
     *
     * @return The associated properties if key is found.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a String/Vector.
     * @throws IllegalArgumentException if one of the tokens is
     * malformed (does not contain an equals sign).
     *
     * @see #getProperties(String, Properties)
     */
    public Properties getProperties(String key)
    {
        return getProperties(key, null);
    }

    /**
     * Get a list of properties associated with the given
     * configuration key.
     *
     * @param key The configuration key.
     * @param defaults Any default values for the returned
     * <code>Properties</code> object.  Ignored if <code>null</code>.
     *
     * @return The associated properties if key is found.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a String/Vector of Strings.
     * @throws IllegalArgumentException if one of the tokens is
     * malformed (does not contain an equals sign).
     */
    public Properties getProperties(String key, Properties defaults)
    {
        /*
         * Grab an array of the tokens for this key.
         */
        String[] tokens = getStringArray(key);

        /*
         * Each token is of the form 'key=value'.
         */
        Properties props =
            (defaults == null ? new Properties() : new Properties(defaults));
        for (int i = 0; i < tokens.length; i++)
        {
            String token = tokens[i];
            int equalSign = token.indexOf('=');
            if (equalSign > 0)
            {
                String pkey = token.substring(0, equalSign).trim();
                String pvalue = token.substring(equalSign + 1).trim();
                props.put(pkey, pvalue);
            }
            else if (tokens.length == 1 && "".equals(token))
            {
                // Semantically equivalent to an empty Properties
                // object.
                break;
            }
            else
            {
                throw new IllegalArgumentException(
                    '\'' + token + "' does not contain an equals sign");
            }
        }
        return props;
    }

    /**
     *  Gets a property from the configuration.
     *
     *  @param key property to retrieve
     *  @return value as object. Will return user value if exists,
     *          if not then default value if exists, otherwise null
     */
    public Object getProperty(String key)
    {
        // first, try to get from the 'user value' store
        Object o = getPropertyDirect(key);

        if (o == null)
        {
            // if there isn't a value there, get it from the defaults if we have
            // them
            if (defaults != null)
            {
                o = defaults.getProperty(key);
            }
        }

        //
        // We must never give a Container Object out. So if the
        // Return Value is a Container, we fix it up to be a
        // Vector
        //
        if (o instanceof Container)
        {
            o = ((Container) o).asVector();
        }
        return o;
   }

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

    /**
     * Get a boolean associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated boolean.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Boolean.
     */
    public boolean getBoolean(String key, boolean defaultValue)
    {
        return getBoolean(key, new Boolean(defaultValue)).booleanValue();
    }

    /**
     * Get a boolean associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated boolean 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 Boolean.
     */
    public Boolean getBoolean(String key, Boolean defaultValue)
    {
        Object value = resolveContainerStore(key);

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

    /**
     * Get a byte associated with the given configuration key.
     *
     * @param key The configuration key.
     *
     * @return The associated byte.
     *
     * @throws NoSuchElementException is thrown if the key doesn't
     * map to an existing object.
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Byte.
     * @throws NumberFormatException is thrown if the value mapped
     * by the key has not a valid number format.
     */
    public byte getByte(String key)
    {
        Byte b = getByte(key, null);
        if (b != null)
        {
            return b.byteValue();
        }
        else
        {
            throw new NoSuchElementException(
                '\'' + key + " doesn't map to an existing object");
        }
    }

    /**
     * Get a byte associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated byte.
     *
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Byte.
     * @throws NumberFormatException is thrown if the value mapped
     * by the key has not a valid number format.
     */
    public byte getByte(String key, byte defaultValue)
    {
        return getByte(key, new Byte(defaultValue)).byteValue();
    }

    /**
     * Get a byte associated with the given configuration key.
     *
     * @param key The configuration key.
     * @param defaultValue The default value.
     *
     * @return The associated byte 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 Byte.
     * @throws NumberFormatException is thrown if the value mapped by the key
     *            has not a valid number format.
     */
    public Byte getByte(String key, Byte defaultValue)
    {
        Object value = resolveContainerStore(key);

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

    /**
     * Get a double associated with the given configuration key.
     *
     * @param key The configuration key.
     *
     * @return The associated double.
     *
     * @throws NoSuchElementException is thrown if the key doesn't
     * map to an existing object.
     * @throws ClassCastException is thrown if the key maps to an
     * object that is not a Double.
     * @throws NumberFormatException is thrown if the value mapped
     * by the key has not a valid number format.
     */
    public double getDouble(String key)
    {
        Double d = getDouble(key, null);
        if (d != null)
        {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
正在播放一区二区| 亚洲国产欧美在线| 亚洲国产另类精品专区| 韩国精品在线观看| 欧美在线视频日韩| 亚洲国产精品激情在线观看| 一区二区三区高清在线| 国产99久久久国产精品免费看| 欧美日韩国产综合一区二区| 国产精品久久久久毛片软件| 国产中文一区二区三区| 欧美日韩不卡在线| 亚洲男人天堂av| 丁香婷婷综合色啪| 久久网站最新地址| 蜜臀a∨国产成人精品| 欧美三级三级三级爽爽爽| 国产精品女主播在线观看| 激情久久五月天| 日韩视频免费直播| 日本大胆欧美人术艺术动态| 在线观看亚洲成人| 亚洲乱码国产乱码精品精的特点| 久久国产精品第一页| 欧美日韩黄视频| 亚洲自拍都市欧美小说| 91美女片黄在线观看91美女| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 成人自拍视频在线| 久久午夜色播影院免费高清| 麻豆免费看一区二区三区| 欧美日韩午夜精品| 亚洲高清三级视频| 欧美网站一区二区| 亚洲影视在线播放| 欧美三级韩国三级日本三斤| 亚洲精品乱码久久久久久黑人 | 国产日韩欧美麻豆| 国产伦精品一区二区三区免费迷 | 久久色视频免费观看| 久久爱www久久做| 欧美成人国产一区二区| 久久精品二区亚洲w码| 欧美tickling挠脚心丨vk| 久久国产精品72免费观看| 日韩欧美激情四射| 国产一区二区三区在线观看精品 | 综合久久久久久| 在线观看一区日韩| 日本sm残虐另类| 精品免费一区二区三区| 国产精品系列在线播放| 《视频一区视频二区| 欧美性一级生活| 免费亚洲电影在线| 国产欧美一区视频| 在线精品视频免费播放| 久久国产综合精品| 国产精品进线69影院| 欧美日韩大陆一区二区| 久久99精品国产91久久来源| 欧美韩国日本一区| 在线观看免费亚洲| 久久国产欧美日韩精品| 自拍视频在线观看一区二区| 欧美精品亚洲一区二区在线播放| 久久精品国产精品亚洲红杏| 国产精品区一区二区三区| 欧美影视一区在线| 狠狠色丁香久久婷婷综合丁香| 国产精品国产三级国产三级人妇| 欧美亚洲丝袜传媒另类| 国产精品自拍一区| 亚洲一区在线观看视频| 精品欧美乱码久久久久久1区2区| 91麻豆产精品久久久久久| 天使萌一区二区三区免费观看| 久久网站最新地址| 精品污污网站免费看| 国产福利91精品一区二区三区| 亚洲免费成人av| 精品盗摄一区二区三区| 在线看不卡av| 成人激情午夜影院| 麻豆精品一区二区| 一区二区欧美精品| 国产欧美一区二区精品忘忧草 | 日本美女视频一区二区| 中文字幕一区二区三区蜜月 | 美女一区二区视频| 亚洲精品一二三四区| 精品久久久网站| 欧美午夜精品久久久久久孕妇| 国产在线一区观看| 五月激情综合婷婷| 亚洲男人的天堂在线观看| 精品国产三级电影在线观看| 欧洲生活片亚洲生活在线观看| 粉嫩久久99精品久久久久久夜| 日韩高清不卡一区二区| 亚洲自拍偷拍麻豆| 亚洲猫色日本管| 国产精品久久午夜夜伦鲁鲁| 日韩欧美国产综合一区| 88在线观看91蜜桃国自产| 欧美性三三影院| 91福利视频在线| 97久久精品人人做人人爽50路| 国产精品羞羞答答xxdd| 国产又黄又大久久| 久久99精品久久久久久| 麻豆久久一区二区| 久久精品国内一区二区三区| 日本午夜一区二区| 日韩激情一二三区| 日本91福利区| 日本vs亚洲vs韩国一区三区二区| 日韩在线一二三区| 午夜精品成人在线视频| 亚洲国产一二三| 天天操天天综合网| 日韩av在线播放中文字幕| 午夜精品久久久久久久久| 亚洲线精品一区二区三区| 日韩黄色免费电影| 美腿丝袜一区二区三区| 激情五月播播久久久精品| 国产自产v一区二区三区c| 国产老妇另类xxxxx| 成人中文字幕合集| 色综合天天综合色综合av | 国产麻豆精品一区二区| 韩国一区二区视频| 成人激情综合网站| 欧美性受xxxx黑人xyx| 91麻豆精品国产91久久久久久久久 | 午夜免费久久看| 精彩视频一区二区三区| 不卡电影免费在线播放一区| 91网站视频在线观看| 精品视频一区 二区 三区| 日韩欧美一级二级三级久久久| 国产亚洲综合在线| 伊人一区二区三区| 蜜桃av噜噜一区二区三区小说| 久久国产精品区| 成人激情小说乱人伦| 欧美乱熟臀69xxxxxx| 欧美精品一区二区三区蜜桃视频| 中国色在线观看另类| 亚洲第一狼人社区| 国产一区二区三区美女| 色哟哟国产精品免费观看| 欧美一级高清片在线观看| 国产日韩在线不卡| 五月天亚洲婷婷| 国产精品一区二区久久精品爱涩 | 国产成人aaa| 欧美三级一区二区| 久久久精品影视| 亚洲精品免费一二三区| 久久成人综合网| 91老师片黄在线观看| 日韩午夜激情视频| 亚洲色大成网站www久久九九| 日本不卡视频在线观看| a美女胸又www黄视频久久| 欧美久久久影院| **性色生活片久久毛片| 国产一区二区免费视频| 国产精品久久免费看| 免费日韩伦理电影| 色综合激情久久| 国产女主播视频一区二区| 三级一区在线视频先锋| 成人国产精品免费观看动漫| 欧美大白屁股肥臀xxxxxx| 亚洲精品国产一区二区精华液 | 精品久久久久久久人人人人传媒 | 天堂蜜桃一区二区三区 | 国产激情视频一区二区三区欧美 | 日韩精品视频网站| 色婷婷综合久色| 国产精品久久久久婷婷| 精品中文av资源站在线观看| 欧美天天综合网| 亚洲日本在线天堂| 成人深夜福利app| 久久久亚洲精品石原莉奈| 日本在线播放一区二区三区| 日本高清成人免费播放| 亚洲国产精品二十页| 国产一区二区成人久久免费影院| 欧美一级爆毛片| 日本一区中文字幕| 欧美日韩精品二区第二页| 亚洲午夜羞羞片| 欧美综合一区二区三区| 亚洲色图一区二区三区| 国产亚洲人成网站|