serializemap.java
来自「High performance DB query」· Java 代码 · 共 257 行
JAVA
257 行
/* * @(#)$Id: SerializeMap.java,v 1.6 2004/07/02 23:59:23 huebsch Exp $ * * Copyright (c) 2001-2004 Regents of the University of California. * All rights reserved. * * This file is distributed under the terms in the attached BERKELEY-LICENSE * file. If you do not find these files, copies can be found by writing to: * Computer Science Division, Database Group, Universite of California, * 617 Soda Hall #1776, Berkeley, CA 94720-1776. Attention: Berkeley License * * Copyright (c) 2003-2004 Intel Corporation. All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE file. * If you do not find these files, copies can be found by writing to: * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, * Berkeley, CA, 94704. Attention: Intel License Inquiry. */package util.network.serialization;import java.util.HashMap;import java.util.Hashtable;import java.util.Iterator;import java.util.Map;import services.network.Payload;/** * Class SerializeMap * */public class SerializeMap { public static final byte NULL_VALUE = -1; /** * Method serialize * * @param outputBuffer * @param theObject */ public static void serialize(GenericByteBuffer outputBuffer, Map theObject) { int mapSize = (theObject == null) ? NULL_VALUE : theObject.size(); outputBuffer.putInt(mapSize); if (theObject == null) { return; } Iterator entries = theObject.entrySet().iterator(); while (entries.hasNext()) { Map.Entry theEntry = (Map.Entry) entries.next(); Object theKey = theEntry.getKey(); Object theValue = theEntry.getValue(); if (theKey instanceof Payload) { SerializationManager.serialize(outputBuffer, (Payload) theKey); } else { SerializationManager.serializeExtended(outputBuffer, theKey); } if (theValue instanceof Payload) { SerializationManager.serialize(outputBuffer, (Payload) theValue); } else { SerializationManager.serializeExtended(outputBuffer, theValue); } } } /** * Method serializeHomogenousKey * * @param outputBuffer * @param theObject */ public static void serializeHomogenousKey(GenericByteBuffer outputBuffer, Map theObject) { serialize(outputBuffer, theObject); } /** * Method serializeHomogenousValue * * @param outputBuffer * @param theObject */ public static void serializeHomogenousValue(GenericByteBuffer outputBuffer, Map theObject) { serialize(outputBuffer, theObject); } /** * Method serializeHomogenousKeyValue * * @param outputBuffer * @param theObject */ public static void serializeHomogenousKeyValue( GenericByteBuffer outputBuffer, Map theObject) { serialize(outputBuffer, theObject); } /** * Method deSerialize * * @param inputBuffer * @param theObject * @return */ public static Map deSerialize(GenericByteBuffer inputBuffer, Map theObject) { int mapSize = inputBuffer.getInt(); if (mapSize == NULL_VALUE) { return null; } for (int i = 0; i < mapSize; i++) { theObject.put( SerializationManager.deSerializeExtended(inputBuffer), SerializationManager.deSerializeExtended(inputBuffer)); } return theObject; } /** * Method deSerializeHomogenousKey * * @param inputBuffer * @param theObject * @return */ public static Map deSerializeHomogenousKey(GenericByteBuffer inputBuffer, Map theObject) { return deSerialize(inputBuffer, theObject); } /** * Method deSerializeHomogenousValue * * @param inputBuffer * @param theObject * @return */ public static Map deSerializeHomogenousValue(GenericByteBuffer inputBuffer, Map theObject) { return deSerialize(inputBuffer, theObject); } /** * Method deSerializeHomogenousKeyValue * * @param inputBuffer * @param theObject * @return */ public static Map deSerializeHomogenousKeyValue( GenericByteBuffer inputBuffer, Map theObject) { return deSerialize(inputBuffer, theObject); } /** * Method deSerializeHashtable * * @param inputBuffer * @return */ public static Hashtable deSerializeHashtable( GenericByteBuffer inputBuffer) { return (Hashtable) deSerialize(inputBuffer, new Hashtable()); } /** * Method deSerializeHomogenousKeyHashtable * * @param inputBuffer * @return */ public static Hashtable deSerializeHomogenousKeyHashtable( GenericByteBuffer inputBuffer) { return (Hashtable) deSerialize(inputBuffer, new Hashtable()); } /** * Method deSerializeHomogenousValueHashtable * * @param inputBuffer * @return */ public static Hashtable deSerializeHomogenousValueHashtable( GenericByteBuffer inputBuffer) { return (Hashtable) deSerialize(inputBuffer, new Hashtable()); } /** * Method deSerializeHomogenousKeyValueHashtable * * @param inputBuffer * @return */ public static Hashtable deSerializeHomogenousKeyValueHashtable( GenericByteBuffer inputBuffer) { return (Hashtable) deSerialize(inputBuffer, new Hashtable()); } /** * Method deSerializeHashMap * * @param inputBuffer * @return */ public static HashMap deSerializeHashMap(GenericByteBuffer inputBuffer) { return (HashMap) deSerialize(inputBuffer, new HashMap()); } /** * Method deSerializeHomogenousKeyHashMap * * @param inputBuffer * @return */ public static HashMap deSerializeHomogenousKeyHashMap( GenericByteBuffer inputBuffer) { return (HashMap) deSerialize(inputBuffer, new HashMap()); } /** * Method deSerializeHomogenousValueHashMap * * @param inputBuffer * @return */ public static HashMap deSerializeHomogenousValueHashMap( GenericByteBuffer inputBuffer) { return (HashMap) deSerialize(inputBuffer, new HashMap()); } /** * Method deSerializeHomogenousKeyValueHashMap * * @param inputBuffer * @return */ public static HashMap deSerializeHomogenousKeyValueHashMap( GenericByteBuffer inputBuffer) { return (HashMap) deSerialize(inputBuffer, new HashMap()); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?