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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mockportletpreferences.java

?? struts+spring 源碼 希望能給大家?guī)?lái)幫助
?? JAVA
字號(hào):
/*
 * Copyright 2002-2006 the original author or authors.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.mock.web.portlet;

import java.io.IOException;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import javax.portlet.PortletPreferences;
import javax.portlet.PreferencesValidator;
import javax.portlet.ReadOnlyException;
import javax.portlet.ValidatorException;

import org.springframework.core.CollectionFactory;
import org.springframework.util.Assert;

/**
 * Mock implementation of the PortletPreferences interface.
 *
 * @author John A. Lewis
 * @author Juergen Hoeller
 * @since 2.0
 */
public class MockPortletPreferences implements PortletPreferences {

	private PreferencesValidator preferencesValidator;

	private final Map preferences = CollectionFactory.createLinkedMapIfPossible(16);

	private final Set readOnly = new HashSet();


	public void setReadOnly(String key, boolean readOnly) {
		Assert.notNull(key, "Key must not be null");
		if (readOnly) {
			this.readOnly.add(key);
		}
		else {
			this.readOnly.remove(key);
		}
	}

	public boolean isReadOnly(String key) {
		Assert.notNull(key, "Key must not be null");
		return this.readOnly.contains(key);
	}

	public String getValue(String key, String def) {
		Assert.notNull(key, "Key must not be null");
		String[] values = (String[]) this.preferences.get(key);
		return (values != null && values.length > 0 ? values[0] : def);
	}

	public String[] getValues(String key, String[] def) {
		Assert.notNull(key, "Key must not be null");
		String[] values = (String[]) this.preferences.get(key);
		return (values != null && values.length > 0 ? values : def);
	}

	public void setValue(String key, String value) throws ReadOnlyException {
		setValues(key, new String[] {value});
	}

	public void setValues(String key, String[] values) throws ReadOnlyException {
		Assert.notNull(key, "Key must not be null");
		if (isReadOnly(key)) {
			throw new ReadOnlyException("Preference '" + key + "' is read-only");
		}
		this.preferences.put(key, values);
	}

	public Enumeration getNames() {
		return Collections.enumeration(this.preferences.keySet());
	}

	public Map getMap() {
		return Collections.unmodifiableMap(this.preferences);
	}

	public void reset(String key) throws ReadOnlyException {
		Assert.notNull(key, "Key must not be null");
		if (isReadOnly(key)) {
			throw new ReadOnlyException("Preference '" + key + "' is read-only");
		}
		this.preferences.remove(key);
	}

	public void setPreferencesValidator(PreferencesValidator preferencesValidator) {
		this.preferencesValidator = preferencesValidator;
	}

	public void store() throws IOException, ValidatorException {
		if (this.preferencesValidator != null) {
			this.preferencesValidator.validate(this);
		}
	}

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利精品第一导航| 欧美tk丨vk视频| 久久99国产精品久久99果冻传媒| 中文字幕av一区二区三区高| 欧美三级乱人伦电影| 成人av资源网站| 久久精品国产精品亚洲精品| 一片黄亚洲嫩模| 国产欧美日韩精品a在线观看| 欧美日韩欧美一区二区| av福利精品导航| 国产精一区二区三区| 日韩精品乱码av一区二区| 亚洲精品一二三| 欧美国产丝袜视频| 国产午夜精品久久久久久免费视| 91精品国产综合久久久久久漫画| 在线亚洲+欧美+日本专区| 懂色av一区二区在线播放| 精一区二区三区| 婷婷开心激情综合| 性久久久久久久久久久久| 亚洲欧美激情在线| 亚洲欧洲韩国日本视频| 国产欧美精品在线观看| 欧美一区二区三区四区高清| 在线亚洲一区二区| 色系网站成人免费| 91麻豆精品一区二区三区| 成人av在线网| 99亚偷拍自图区亚洲| 成人免费毛片片v| 成人免费高清视频在线观看| 国产黄人亚洲片| 国产高清成人在线| 国产成人综合在线播放| 国产成人在线免费观看| 成人av综合一区| 不卡的av在线播放| 97久久超碰精品国产| 99久精品国产| 91麻豆蜜桃一区二区三区| 91免费国产在线观看| 一本久久a久久精品亚洲| 色狠狠综合天天综合综合| 91久久精品网| 欧美日韩在线一区二区| 欧美福利视频一区| 精品日本一线二线三线不卡| 亚洲精品在线电影| 欧美国产国产综合| 亚洲欧美国产77777| 亚洲综合一区二区| 日韩中文字幕区一区有砖一区| 日韩精品一卡二卡三卡四卡无卡| 蜜臀a∨国产成人精品| 韩国毛片一区二区三区| 成人精品高清在线| 色94色欧美sute亚洲线路一久| 欧美视频中文字幕| 欧美xxxxxxxx| 国产精品久久久久久久久晋中| 一区二区三区在线影院| 丝袜美腿亚洲一区| 国产伦精一区二区三区| www.视频一区| 欧美日韩国产欧美日美国产精品| 欧美一级久久久久久久大片| 26uuu精品一区二区| **欧美大码日韩| 性做久久久久久久免费看| 久久99国产精品久久99果冻传媒| 成人性生交大片免费看在线播放 | 欧美精品一区二区三区蜜桃| 久久亚洲一级片| 一个色妞综合视频在线观看| 蜜桃av噜噜一区| 99re热这里只有精品免费视频| 欧美久久久久中文字幕| 欧美激情一区二区三区蜜桃视频| 一区二区三区久久| 久久av中文字幕片| 91捆绑美女网站| 欧美电视剧在线看免费| 亚洲日本护士毛茸茸| 麻豆视频一区二区| 91免费看片在线观看| 精品少妇一区二区三区在线视频| 亚洲精品水蜜桃| 国产精品原创巨作av| 欧美日韩成人一区| 1000部国产精品成人观看| 久久成人免费网| 欧美三片在线视频观看| 久久精品人人做| 亚洲va韩国va欧美va| 99精品热视频| 久久综合狠狠综合久久激情| 亚洲成人黄色小说| 99国产欧美久久久精品| 久久久久久亚洲综合影院红桃| 偷拍一区二区三区四区| 99久久精品国产毛片| 久久久精品2019中文字幕之3| 亚洲bt欧美bt精品777| heyzo一本久久综合| 精品对白一区国产伦| 爽爽淫人综合网网站| 在线观看日韩毛片| 中文字幕在线观看一区二区| 国产精品一区二区你懂的| 日韩三区在线观看| 亚洲高清免费在线| 色综合久久久久久久久久久| 国产日韩精品一区二区三区在线| 久久99精品国产麻豆婷婷| 欧美美女视频在线观看| 亚洲国产日韩在线一区模特| 91麻豆精品在线观看| 国产精品家庭影院| 成人午夜碰碰视频| 欧美激情在线一区二区| 国产精品一卡二卡| 久久久久久夜精品精品免费| 美女任你摸久久| 日韩免费看的电影| 蜜臀av亚洲一区中文字幕| 91精品福利在线一区二区三区| 亚洲第一在线综合网站| 欧美日韩一级大片网址| 亚洲国产精品一区二区久久| 欧美在线观看视频一区二区| 综合激情成人伊人| 色天天综合久久久久综合片| 亚洲视频狠狠干| 91久久奴性调教| 亚洲午夜精品在线| 777午夜精品视频在线播放| 午夜电影久久久| 7777精品伊人久久久大香线蕉| 图片区小说区国产精品视频| 欧美日韩你懂的| 日本不卡的三区四区五区| 日韩一卡二卡三卡| 国产真实乱对白精彩久久| 久久久国际精品| 99视频在线精品| 亚洲一区在线免费观看| 欧美日高清视频| 久久9热精品视频| 国产午夜亚洲精品理论片色戒 | 99麻豆久久久国产精品免费| 亚洲欧洲成人av每日更新| 色综合久久中文字幕| 一区二区三区在线视频播放| 欧美日韩卡一卡二| 久久99精品久久久| 国产精品女人毛片| 欧美日韩一区二区三区视频| 三级不卡在线观看| 精品国产髙清在线看国产毛片| 国产高清一区日本| 一区二区三区成人| 欧美一区二区日韩| 丁香六月久久综合狠狠色| 亚洲综合色成人| 精品人在线二区三区| www.av精品| 日韩高清一级片| 国产精品久久久久久亚洲毛片| 欧美日韩国产美女| 国产一区在线精品| 亚洲综合激情网| 久久综合色之久久综合| 色88888久久久久久影院野外| 麻豆成人av在线| 亚洲手机成人高清视频| 日韩丝袜情趣美女图片| av在线不卡电影| 裸体歌舞表演一区二区| 亚洲欧美色图小说| 久久奇米777| 欧美日韩美少妇| aaa欧美大片| 久久精品国产色蜜蜜麻豆| 亚洲欧美色图小说| 久久久一区二区| 欧美日韩黄色一区二区| 成人美女视频在线观看18| 日本欧美一区二区三区乱码| 综合中文字幕亚洲| 久久久久88色偷偷免费| 欧美另类高清zo欧美| 成人av资源下载| 国产永久精品大片wwwapp| 亚洲成人久久影院| 国产精品初高中害羞小美女文| 精品美女一区二区三区| 欧美日本一道本| 在线免费亚洲电影|