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

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

?? serializableextension.java

?? c3p0數(shù)據(jù)庫連接池實(shí)現(xiàn)源碼
?? JAVA
字號:
/* * Distributed as part of c3p0 v.0.9.1-pre6 * * Copyright (C) 2005 Machinery For Change, Inc. * * Author: Steve Waldman <swaldman@mchange.com> * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 2.1, as  * published by the Free Software Foundation. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this software; see the file LICENSE.  If not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. */package com.mchange.v2.codegen.bean;import java.util.*;import java.io.IOException;import com.mchange.v2.codegen.IndentedWriter;/** *  Note: this class pays no attention to whether users have marked any property variables as transient. *  In fact, it will work most efficiently if users mark ALL variables as transient... to define transient *  properties for this class, use the constructor which allows a user-specified set of transients. */public class SerializableExtension implements GeneratorExtension{    Set transientProperties;    Map transientPropertyInitializers;    /**     *  @param transientProperties a set of Strings, the names of all properties that should be considered transient and not serialized     *  @param transientPropertyInitializers an optional Map of a subset of the transient property names to non-default initialization     *                                       expressions, which should be unterminated expressions, and which will be used verbatim in      *                                       the generated code.     */    public SerializableExtension(Set transientProperties, Map transientPropertyInitializers)    { 	this.transientProperties = transientProperties; 	this.transientPropertyInitializers = transientPropertyInitializers;    }    public SerializableExtension()    { this ( Collections.EMPTY_SET, null ); }    public Collection extraGeneralImports()    { return Collections.EMPTY_SET; }    public Collection extraSpecificImports()    {	Set set = new HashSet();	set.add( "java.io.IOException" );	set.add( "java.io.Serializable" );	set.add( "java.io.ObjectOutputStream" );	set.add( "java.io.ObjectInputStream" );	return set;    }    public Collection extraInterfaceNames()    {	Set set = new HashSet();	set.add( "Serializable" );	return set;    }    public void generate(ClassInfo info, Class superclassType, Property[] props, Class[] propTypes, IndentedWriter iw)	throws IOException    {	iw.println("private static final long serialVersionUID = 1;"); 	iw.println("private static final short VERSION = 0x0001;"); 	iw.println();	iw.println("private void writeObject( ObjectOutputStream oos ) throws IOException");	iw.println("{");	iw.upIndent();		iw.println( "oos.writeShort( VERSION );" );	for( int i = 0, len = props.length; i < len; ++i )	    {		Property prop = props[i];		if (! transientProperties.contains( prop.getName() ) )		    {			Class propType = propTypes[i];			if (propType != null && propType.isPrimitive()) //primitives should always resolve, object types may not, and be null			    {				if (propType == byte.class)				    iw.println("oos.writeByte(" + prop.getName() + ");");				else if (propType == char.class)				    iw.println("oos.writeChar(" + prop.getName() + ");");				else if (propType == short.class)				    iw.println("oos.writeShort(" + prop.getName() + ");");				else if (propType == int.class)				    iw.println("oos.writeInt(" + prop.getName() + ");");				else if (propType == boolean.class)				    iw.println("oos.writeBoolean(" + prop.getName() + ");");				else if (propType == long.class)				    iw.println("oos.writeLong(" + prop.getName() + ");");				else if (propType == float.class)				    iw.println("oos.writeFloat(" + prop.getName() + ");");				else if (propType == double.class)				    iw.println("oos.writeDouble(" + prop.getName() + ");");			    }			else			    writeStoreObject( prop, propType, iw );		    }	    }	iw.downIndent();	iw.println("}");	iw.println();	iw.println("private void readObject( ObjectInputStream ois ) throws IOException, ClassNotFoundException");	iw.println("{");	iw.upIndent();	iw.println("short version = ois.readShort();");	iw.println("switch (version)");	iw.println("{");	iw.upIndent();		iw.println("case VERSION:");	iw.upIndent();	for( int i = 0, len = props.length; i < len; ++i )	    {		Property prop = props[i];		if (! transientProperties.contains( prop.getName() ) )		    {			Class propType = propTypes[i];			if (propType != null && propType.isPrimitive()) //if a propType is unresolvable, it ain't a primitive			    {				if (propType == byte.class)				    iw.println("this." + prop.getName() + " = ois.readByte();");				else if (propType == char.class)				    iw.println("this." + prop.getName() + " = ois.readChar();");				else if (propType == short.class)				    iw.println("this." + prop.getName() + " = ois.readShort();");				else if (propType == int.class)				    iw.println("this." + prop.getName() + " = ois.readInt();");				else if (propType == boolean.class)				    iw.println("this." + prop.getName() + " = ois.readBoolean();");				else if (propType == long.class)				    iw.println("this." + prop.getName() + " = ois.readLong();");				else if (propType == float.class)				    iw.println("this." + prop.getName() + " = ois.readFloat();");				else if (propType == double.class)				    iw.println("this." + prop.getName() + " = ois.readDouble();");			    }			else			    writeUnstoreObject( prop, propType, iw );		    }		else		    {			String initializer = (String) transientPropertyInitializers.get( prop.getName() );			if (initializer != null)			    iw.println("this." + prop.getName() + " = " + initializer +';');		    }	    }	iw.println("break;");	iw.downIndent();	iw.println("default:");	iw.upIndent();	iw.println("throw new IOException(\"Unsupported Serialized Version: \" + version);");	iw.downIndent();	iw.downIndent();	iw.println("}");	iw.downIndent();	iw.println("}");    }    protected void writeStoreObject( Property prop, Class propType, IndentedWriter iw ) throws IOException    {	iw.println("oos.writeObject( " + prop.getName() + " );");    }    protected void writeUnstoreObject( Property prop, Class propType, IndentedWriter iw ) throws IOException    {	iw.println("this." + prop.getName() + " = (" + prop.getSimpleTypeName() + ") ois.readObject();");    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产白丝精品91爽爽久久| 亚洲主播在线播放| 国产一区二区三区四区在线观看| 欧美高清视频一二三区| 日本成人在线看| 亚洲精品一区二区三区99| 国精产品一区一区三区mba视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲国产成人av| 91精品国产免费| 国产原创一区二区| 中文字幕在线播放不卡一区| 色呦呦国产精品| 日韩影院精彩在线| 久久久久久亚洲综合| 99综合影院在线| 午夜精品福利在线| 久久亚洲捆绑美女| 91在线国产福利| 视频一区二区不卡| 国产精品毛片久久久久久| 91国模大尺度私拍在线视频| 另类小说视频一区二区| 日本一区二区三区在线不卡| 欧美亚洲动漫精品| 国产一本一道久久香蕉| 成人欧美一区二区三区小说| 91精品国产91热久久久做人人 | 欧美精品视频www在线观看| 久久国产三级精品| 亚洲美女屁股眼交| 91精品国产福利在线观看| 成人免费va视频| 日本 国产 欧美色综合| 国产精品免费看片| 日韩欧美一二三四区| 91免费版在线看| 狠狠色狠狠色综合| 一区二区三区高清| 国产清纯白嫩初高生在线观看91 | 色狠狠av一区二区三区| 极品销魂美女一区二区三区| 一区二区三区欧美久久| 国产亚洲欧美日韩俺去了| 欧美三级中文字幕| 成人激情免费视频| 另类人妖一区二区av| 一级中文字幕一区二区| 国产性天天综合网| 欧美一区二区视频免费观看| 色婷婷av一区二区三区大白胸 | 99久久久国产精品免费蜜臀| 韩国成人在线视频| 日日摸夜夜添夜夜添国产精品| 中文字幕日本乱码精品影院| 精品国产免费一区二区三区四区| 欧美色大人视频| 99久久99久久精品免费观看| 狠狠色丁香久久婷婷综合丁香| 亚洲第一久久影院| 一区二区三区日韩在线观看| 中文字幕一区二区三区在线观看| 精品国精品国产尤物美女| 欧美喷潮久久久xxxxx| 色狠狠一区二区| 91麻豆精东视频| 波多野结衣亚洲| 成人教育av在线| 白白色亚洲国产精品| 成人黄色电影在线| 成人av影视在线观看| 国产·精品毛片| 波多野结衣亚洲一区| 97成人超碰视| 91原创在线视频| 91麻豆免费在线观看| 91香蕉视频mp4| 99riav一区二区三区| 91一区二区在线| 日本乱码高清不卡字幕| 91在线国产观看| 在线观看日韩国产| 欧美伊人精品成人久久综合97| 91久久久免费一区二区| 91福利国产成人精品照片| 欧美综合一区二区| 欧美日韩久久一区二区| 69堂国产成人免费视频| 91精品国产一区二区| 精品国产乱码久久久久久影片| 欧美电影免费观看完整版| 久久男人中文字幕资源站| 国产日韩欧美不卡| 亚洲精品中文在线观看| 亚洲国产一区二区视频| 日韩成人一区二区| 国产一区二三区| 成人三级伦理片| 在线观看日韩毛片| 日韩欧美国产三级电影视频| 久久精品亚洲麻豆av一区二区| 国产精品免费视频网站| 一区二区三区精品在线观看| 午夜久久久影院| 国产一区视频在线看| 成人黄色a**站在线观看| 91高清视频免费看| 欧美二区乱c少妇| 久久久午夜精品理论片中文字幕| 国产精品久99| 丝袜诱惑亚洲看片| 国产成人福利片| 欧洲一区二区三区在线| 日韩欧美国产精品一区| 亚洲欧洲av另类| 三级欧美在线一区| 懂色av一区二区三区蜜臀| 欧美日韩在线免费视频| 国产色产综合色产在线视频| 一二三四社区欧美黄| 韩国一区二区三区| 91福利精品视频| 国产欧美一区二区三区网站| 亚洲成人免费av| 成人黄色一级视频| 欧美一级午夜免费电影| 日韩一区日韩二区| 久久精品国产久精国产爱| 色呦呦国产精品| 欧美经典三级视频一区二区三区| 亚洲高清免费视频| 99国产精品国产精品毛片| 精品日韩一区二区三区| 亚洲国产精品欧美一二99| 国产成人8x视频一区二区| 欧美一级片在线看| 亚洲在线中文字幕| 不卡区在线中文字幕| 欧美不卡激情三级在线观看| 亚洲午夜激情网页| 99精品欧美一区二区蜜桃免费| 精品国产第一区二区三区观看体验 | 亚洲精品一区二区三区影院| 亚洲线精品一区二区三区八戒| 国产精品 欧美精品| 欧美一区二区视频在线观看2022| 亚洲精品免费在线播放| 懂色av中文字幕一区二区三区 | 成熟亚洲日本毛茸茸凸凹| 日韩免费电影一区| 日韩精品欧美成人高清一区二区| 日本精品一级二级| 国产精品国产精品国产专区不蜜 | 日韩一区二区三区电影在线观看| 亚洲欧美日韩人成在线播放| 国产成人日日夜夜| 欧美精品一区二区高清在线观看 | 激情亚洲综合在线| 日韩视频国产视频| 久久成人av少妇免费| 91精品国产色综合久久ai换脸 | 色天使色偷偷av一区二区| 中文字幕不卡的av| 豆国产96在线|亚洲| 欧美国产成人在线| 成人影视亚洲图片在线| 国产亚洲精品7777| 国产99精品视频| 国产精品女主播av| 99在线热播精品免费| 亚洲精品视频自拍| 欧美无乱码久久久免费午夜一区| 洋洋成人永久网站入口| 91免费精品国自产拍在线不卡| 国产精品不卡在线| 色婷婷国产精品| 亚洲成av人片| 91精品免费在线| 久久se精品一区精品二区| 精品日韩一区二区| 国产美女久久久久| 中文字幕一区在线观看| 在线一区二区视频| 日韩成人精品视频| 精品国产一区二区三区四区四| 国模少妇一区二区三区| 国产精品网站一区| 色哟哟一区二区三区| 亚洲一级二级在线| 精品少妇一区二区三区免费观看| 国产精品一二三四| 综合久久给合久久狠狠狠97色| 欧美性一区二区| 另类综合日韩欧美亚洲| 国产农村妇女精品| 色综合久久中文字幕综合网| 日韩高清在线一区| 国产丝袜美腿一区二区三区| 91小视频在线免费看| 日本午夜精品视频在线观看|