serializelist.java

来自「High performance DB query」· Java 代码 · 共 150 行

JAVA
150
字号
/* * @(#)$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 + =
减小字号Ctrl + -
显示快捷键?