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

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

?? abstracttranslator.java

?? Myjxta的源代碼 基于JXTA的P2P即時通信系統
?? JAVA
字號:
/* * Copyright (c) 2001 Sun Microsystems, Inc.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. 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. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *       Sun Microsystems, Inc. for Project JXTA." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Sun", "Sun Microsystems, Inc.", "RosettaChat", "JXTA" and *    "Project JXTA" must not be used to endorse or promote products derived *    from this software without prior written permission. For written *    permission, please contact Project JXTA at http://www.jxta.org. * * 5. Products derived from this software may not be called "JXTA", *    nor may "JXTA" appear in their name, without prior written *    permission of Sun. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL SUN MICROSYSTEMS OR * ITS CONTRIBUTORS BE LIABLE FOR ANY 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 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of Project JXTA.  For more * information on Project JXTA, please see * <http://www.jxta.org/>. * * This license is based on the BSD license adopted by the Apache Foundation. */package net.jxta.myjxta.misc.rosettachat.translation;import net.jxta.myjxta.misc.rosettachat.http.*;import net.jxta.myjxta.misc.rosettachat.misc.EmptyIterator;import java.net.*;import java.io.*;import java.util.*;/** * Translator.java * * @author James Todd [jwtodd@pacbell.net] * @version */public abstract class AbstractTranslator	implements Translator {    private static final String ENCODING_UTF8 = "UTF-8";    private static List<String> baseLocales = null;    private List<String> locales = null;    private String sourceLocale = null;    private String targetLocale = null;    private URL targetURL = null;    private String text = null;    private URL url = null;	private Map<String, String> filters = null;	private Map<String, String> masks = null;	static {		baseLocales = new ArrayList<String>();		baseLocales.add(ENGLISH);		baseLocales.add(FRENCH);		baseLocales.add(GERMAN);		baseLocales.add(ITALIAN);		baseLocales.add(JAPANESE);		baseLocales.add(PORTUGUESE);		baseLocales.add(SPANISH);		baseLocales.add(SIMPLIFIED_CHINESE);		baseLocales.add(TRADITIONAL_CHINESE);	}    public static Iterator getBaseLocales() {		return (baseLocales != null ?				baseLocales.iterator() : new EmptyIterator());    }    public AbstractTranslator() {		this.sourceLocale = ENGLISH;		addMask("<", ">");    }    public URL getTargetURL() {		return this.targetURL;    }    public void setTargetURL(URL targetURL) {		this.targetURL = targetURL;    }    public Iterator getLocales() {		return ((this.locales != null) ?				this.locales.iterator() : new EmptyIterator());    }    public String getSourceLocale() {		return this.sourceLocale;    }    public void setSourceLocale(String sourceLocale)		throws IllegalArgumentException {		if (validLocale(sourceLocale)) {			this.sourceLocale = sourceLocale;		} else {			throw new IllegalArgumentException("bad locale");		}    }    public String getTargetLocale() {		return this.targetLocale;    }    public void setTargetLocale(String targetLocale)		throws IllegalArgumentException {		if (validLocale(targetLocale)) {			this.targetLocale = targetLocale;		} else {			throw new IllegalArgumentException("bad locale");		}    }    public String getText() {		return this.text;    }    public void setText(String text) {		this.text = text;    }    public String translate()		throws IllegalArgumentException, IllegalStateException,			   IOException {		return translate(null);    }    public String translate(String text)		throws IllegalArgumentException, IllegalStateException,			   IOException {		return translate(text, null);    }    public abstract String translate(String text, String targetLocale)		throws IllegalArgumentException, IllegalStateException,			   IOException;    protected void addLocale(String locale) {		if (this.locales == null) {			this.locales = new ArrayList<String>();		}		this.locales.add(locale);    }    protected abstract URL getURL();    protected String getBody() {		return null;    }	protected void addFilter(String pre, String post) {		if (this.filters == null) {			this.filters = new HashMap<String, String>();		}		this.filters.put(pre, post);	}	protected void addMask(String key, String value) {		if (this.masks == null) {			this.masks = new HashMap<String, String>();		}		this.masks.put(key, value);	}	protected Message dispatch(String text, String targetLocale)		throws IllegalArgumentException, IllegalStateException,			   IOException {		preDispatch(text, targetLocale);		return ((getBody() == null) ? getMessage() : postMessage());	}    protected void preDispatch(String text, String targetLocale)		throws IllegalArgumentException, IllegalStateException {		try {			this.url = getURL();		} catch (Exception e) {			// munch		}		if (text != null) {			setText(text);		}		if (targetLocale != null) {			setTargetLocale(targetLocale);		}		if (this.url == null ||			this.locales == null ||			this.sourceLocale == null ||			this.targetLocale == null ||			(this.text == null &&			 this.targetURL == null) ||			! this.locales.contains(this.sourceLocale) ||			! this.locales.contains(this.targetLocale) ||			(this.sourceLocale != null &&			 this.sourceLocale.equals(this.targetLocale)) ||			(this.targetLocale != null &&			 this.targetLocale.equals(this.sourceLocale))) {			throw new IllegalStateException("bad state");		}    }	protected String filter(String data) {		Iterator filters = ((this.filters != null) ?							this.filters.keySet().iterator() :							new EmptyIterator());		StringBuffer sb = new StringBuffer();		while (filters.hasNext()) {			String preDelimiter = (String)filters.next();			String postDelimiter = this.filters.get(preDelimiter);			String s = new String(data);			int preIndex = -1;			int postIndex = -1;			int preDelimiterLength = preDelimiter.length();			while ((preIndex = s.indexOf(preDelimiter)) > -1 &&				   (postIndex = s.indexOf(postDelimiter,										  preIndex +										  preDelimiterLength)) > -1 &&				   preIndex < postIndex) {				sb.append(s = s.substring(preIndex + preDelimiterLength,										  postIndex));			}		}		if (sb.length() == 0) {			sb = new StringBuffer(data.trim());		}		int l = sb.length();		for (int i = 0; i < l; i++) {			if (sb.charAt(i) == '\n') {				sb.setCharAt(i, ' ');			}		}		sb = new StringBuffer(mask(sb.toString()).trim());		// Make the first character uppercase.		if (sb.length() > 0) {			char c = sb.charAt(0);			if (! Character.isUpperCase(c)) {				sb.setCharAt(0, Character.toUpperCase(c));			}		}		return sb.toString();    }    protected String encode(String s) {        try {            s = URLEncoder.encode(s, ENCODING_UTF8);        } catch (UnsupportedEncodingException uee) {        }                return s;    }        private boolean validLocale(String locale) {		return (this.locales != null &&				this.locales.contains(locale));    }    private Message getMessage()		throws IOException {		GetMessage getMessage = new GetMessage(this.url);		getMessage.setUnicodeEncoding(true);		getMessage.setFollowRedirect(true);		return getMessage.dispatch();    }    private Message postMessage()		throws IOException {		PostMessage postMessage = new PostMessage(this.url);		postMessage.setUnicodeEncoding(true);		postMessage.setFollowRedirect(true);//        postMessage.setHeader("Content-Type", "text/html; charset=UTF-8");        postMessage.setHeader("Content-Type",                              "application/x-www-form-urlencoded");        postMessage.setHeader("Accept",                              "image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,image/png,*/*");        postMessage.setHeader("User-Agent",                              "Mozilla/4.76C-CCK-MCD Netscape [en] (X11; U; SunOS 5.8 sun4u)");        postMessage.setHeader("Accept-Language", "en");        postMessage.setHeader("Accept-Encoding", "gzip");        postMessage.setHeader("Accept-Charset", "iso-8859-1,*,utf-8");		postMessage.setBody(getBody());		return postMessage.dispatch();    }	private String mask(String data) {		String s = new String(data);		Iterator masks = ((this.masks != null) ?						  this.masks.keySet().iterator() :						  new EmptyIterator());		while (masks.hasNext()) {			String preDelimiter = (String)masks.next();			String postDelimiter = this.masks.get(preDelimiter);			int i = -1;			int j = -1;			int k = preDelimiter.length();			int l = postDelimiter.length();			while ((i = s.indexOf(preDelimiter)) > -1 &&				   (j = s.indexOf(postDelimiter, i + k)) > -1) {				s = new StringBuffer(s).delete(i, j + l).toString();			}		}		return s;	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服.丝袜.亚洲.另类.中文| 91精品国产一区二区三区香蕉| 青青草91视频| 亚洲成人精品影院| 亚洲欧美日韩中文字幕一区二区三区| 日韩久久精品一区| 欧美日韩国产系列| 欧美激情一区三区| 久久精品夜色噜噜亚洲a∨| 日韩免费一区二区| 欧美一区日本一区韩国一区| 91精品办公室少妇高潮对白| 国产成人激情av| 风流少妇一区二区| 成人精品gif动图一区| 国产很黄免费观看久久| 丁香婷婷综合网| 97久久精品人人爽人人爽蜜臀| 成人精品国产免费网站| 北条麻妃一区二区三区| 成人app在线观看| 色一区在线观看| 欧美精品丝袜久久久中文字幕| 欧美日韩成人综合| 日韩视频永久免费| 国产精品欧美极品| 一区二区三区中文字幕在线观看| 亚洲一区二区成人在线观看| 婷婷亚洲久悠悠色悠在线播放| 日本不卡一区二区| 国产九色sp调教91| 91在线免费看| 日韩免费观看高清完整版在线观看| 国产亚洲综合色| 亚洲综合久久久久| 韩国精品免费视频| 日本高清视频一区二区| 26uuu色噜噜精品一区二区| 中文字幕一区二区不卡| 日本不卡高清视频| 91免费版在线| 精品久久久久久久人人人人传媒 | 香蕉av福利精品导航| 国产成人免费视| 欧美一级久久久久久久大片| 国产精品黄色在线观看| 国内精品伊人久久久久av影院| 日本道在线观看一区二区| 久久精品亚洲精品国产欧美| 亚洲一区国产视频| 91网站最新网址| 国产欧美视频在线观看| 久久99这里只有精品| 在线看国产一区| 一区二区三区视频在线看| 国产乱码精品1区2区3区| 欧美日韩精品二区第二页| 最新成人av在线| 色综合久久久久综合| 中文字幕精品—区二区四季| 丁香天五香天堂综合| 韩国欧美一区二区| 欧美猛男gaygay网站| 亚洲精品国产视频| 不卡欧美aaaaa| 国产精品免费网站在线观看| 国产午夜精品一区二区三区嫩草| 亚洲一区二区欧美激情| 日本二三区不卡| 亚洲成人激情av| 3d成人动漫网站| 久久成人综合网| 久久久精品国产99久久精品芒果| 国产精品18久久久久久久网站| 亚洲 欧美综合在线网络| 欧美视频精品在线| 久久99精品国产91久久来源| 欧美va天堂va视频va在线| 狠狠狠色丁香婷婷综合久久五月| 日韩欧美不卡在线观看视频| 国产一区视频在线看| 亚洲欧美综合另类在线卡通| 91在线看国产| 午夜精品影院在线观看| 日韩欧美你懂的| 成人av影视在线观看| 亚洲国产成人av网| www久久久久| 色婷婷av一区二区三区之一色屋| 三级一区在线视频先锋 | 五月天久久比比资源色| 日韩欧美精品在线| 色嗨嗨av一区二区三区| 国产最新精品免费| 亚洲国产一区二区视频| 国产欧美日产一区| 91精品国产综合久久福利软件| 国产成人av一区二区三区在线 | 青娱乐精品视频| 国产精品五月天| 欧美精品一区男女天堂| 欧美日本国产视频| 91碰在线视频| 国产激情精品久久久第一区二区| 日韩主播视频在线| 一区二区在线观看视频| 国产精品剧情在线亚洲| 久久久国产精华| 精品裸体舞一区二区三区| 欧美人xxxx| 3d成人h动漫网站入口| 一本色道久久加勒比精品 | 久久精品72免费观看| 亚洲电影你懂得| 亚洲福中文字幕伊人影院| 亚洲精品成人在线| 最新日韩av在线| 最新日韩在线视频| 亚洲精品免费看| 亚洲精品综合在线| 亚洲午夜精品久久久久久久久| 亚洲欧美日韩国产成人精品影院 | 亚洲视频一区二区免费在线观看| 26uuu精品一区二区三区四区在线| 91精品国产综合久久久久久| 欧美色窝79yyyycom| 欧美久久久久久久久中文字幕| 欧美视频日韩视频在线观看| 欧美精品777| 久久综合九色综合欧美98| 26uuu欧美| 亚洲另类一区二区| 日本色综合中文字幕| 国产伦精一区二区三区| 色婷婷综合久久久| 欧美一区二区三区视频| 久久久久久免费毛片精品| 亚洲激情在线激情| 日韩**一区毛片| www.欧美日韩国产在线| 欧美亚洲动漫制服丝袜| 久久精品亚洲国产奇米99| 伊人夜夜躁av伊人久久| 麻豆国产精品777777在线| hitomi一区二区三区精品| 欧美年轻男男videosbes| 国产精品婷婷午夜在线观看| 日韩在线一二三区| 色综合av在线| 国产色产综合色产在线视频| 丝袜国产日韩另类美女| 大尺度一区二区| 欧美成人aa大片| 亚洲va国产va欧美va观看| 9人人澡人人爽人人精品| 久久久五月婷婷| 日本不卡视频在线观看| 欧美人xxxx| 亚洲bt欧美bt精品| 色婷婷综合在线| 亚洲一区二区视频在线观看| 国产精品18久久久久| 精品国产区一区| 精品一区二区三区视频在线观看| 91精品一区二区三区久久久久久| 久久成人羞羞网站| 91精品国产91热久久久做人人 | 97精品视频在线观看自产线路二| 国产欧美日韩在线看| 国产麻豆精品theporn| www国产成人| 岛国av在线一区| 激情图区综合网| 精品卡一卡二卡三卡四在线| 国产一区二区三区免费播放| 国产精品丝袜久久久久久app| 国产91丝袜在线18| 亚洲天堂久久久久久久| 欧美在线免费观看视频| 日产国产高清一区二区三区| 欧美大胆一级视频| 国产精品一区二区x88av| 国产精品国产a| 8x8x8国产精品| 成人自拍视频在线观看| 亚洲资源中文字幕| 精品理论电影在线观看| 成人激情免费网站| 亚洲国产日日夜夜| 2020国产成人综合网| 在线欧美小视频| 狠狠色狠狠色综合系列| 国产精品高潮呻吟久久| 欧美二区在线观看| 国产91在线观看丝袜| 亚洲一区二区三区中文字幕 | 欧美一级久久久| 99久久国产免费看| 精彩视频一区二区| 亚洲国产视频一区二区|