📄 serializelist.java
字号:
/* * @(#)$Id: SerializeList.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.AbstractList;import java.util.ArrayList;import java.util.Vector;import services.network.Payload;/** * Class SerializeList * */public class SerializeList { public static final byte NULL_VALUE = -1; /** * Method serialize * * @param outputBuffer * @param theObject */ public static void serialize(GenericByteBuffer outputBuffer, AbstractList theObject) { int listSize = (theObject == null) ? NULL_VALUE : theObject.size(); outputBuffer.putInt(listSize); for (int i = 0; i < listSize; i++) { Object theData = theObject.get(i); if (theData instanceof Payload) { SerializationManager.serialize(outputBuffer, (Payload) theData); } else { SerializationManager.serializeExtended(outputBuffer, theData); } } } /** * Method serializeHomogenous * * @param outputBuffer * @param theObject */ public static void serializeHomogenous(GenericByteBuffer outputBuffer, AbstractList theObject) { serialize(outputBuffer, theObject); } /** * Method deSerialize * * @param inputBuffer * @param theObject * @return */ public static AbstractList deSerialize(GenericByteBuffer inputBuffer, AbstractList theObject) { int listSize = inputBuffer.getInt(); if (listSize == NULL_VALUE) { return null; } for (int i = 0; i < listSize; i++) { theObject.add( i, SerializationManager.deSerializeExtended(inputBuffer)); } return theObject; } /** * Method deSerializeHomogenous * * @param inputBuffer * @param theObject * @return */ public static AbstractList deSerializeHomogenous( GenericByteBuffer inputBuffer, AbstractList theObject) { return deSerialize(inputBuffer, theObject); } /** * Method deSerializeVector * * @param inputBuffer * @return */ public static Vector deSerializeVector(GenericByteBuffer inputBuffer) { return (Vector) deSerialize(inputBuffer, new Vector()); } /** * Method deSerializeArrayList * * @param inputBuffer * @return */ public static ArrayList deSerializeArrayList( GenericByteBuffer inputBuffer) { return (ArrayList) deSerialize(inputBuffer, new ArrayList()); } /** * Method deSerializeHomogenousVector * * @param inputBuffer * @return */ public static Vector deSerializeHomogenousVector( GenericByteBuffer inputBuffer) { return (Vector) deSerializeHomogenous(inputBuffer, new Vector()); } /** * Method deSerializeHomogenousArrayList * * @param inputBuffer * @return */ public static ArrayList deSerializeHomogenousArrayList( GenericByteBuffer inputBuffer) { return (ArrayList) deSerializeHomogenous(inputBuffer, new ArrayList()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -