serializebool.java

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

JAVA
248
字号
/* * @(#)$Id: SerializeBool.java,v 1.6 2004/07/02 23:59:22 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;/** * Class SerializeBool * */public class SerializeBool {    /**     * Method offsetValue     *     * @param value     * @param offset     * @return     */    protected static byte offsetValue(boolean value, int offset) {        if (value) {            return (byte) (1 << offset);        } else {            return 0;        }    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1) {        serialize(outputBuffer, (offsetValue(value1, 0)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     * @param value3     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2,                                 boolean value3) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)                          + offsetValue(value3, 2)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     * @param value3     * @param value4     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2,                                 boolean value3, boolean value4) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)                          + offsetValue(value3, 2) + offsetValue(value4, 3)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     * @param value3     * @param value4     * @param value5     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2,                                 boolean value3, boolean value4,                                 boolean value5) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)                          + offsetValue(value3, 2) + offsetValue(value4, 3)                          + offsetValue(value5, 4)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     * @param value3     * @param value4     * @param value5     * @param value6     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2,                                 boolean value3, boolean value4,                                 boolean value5, boolean value6) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)                          + offsetValue(value3, 2) + offsetValue(value4, 3)                          + offsetValue(value5, 4) + offsetValue(value6, 5)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     * @param value3     * @param value4     * @param value5     * @param value6     * @param value7     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2,                                 boolean value3, boolean value4,                                 boolean value5, boolean value6,                                 boolean value7) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)                          + offsetValue(value3, 2) + offsetValue(value4, 3)                          + offsetValue(value5, 4) + offsetValue(value6, 5)                          + offsetValue(value7, 6)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value1     * @param value2     * @param value3     * @param value4     * @param value5     * @param value6     * @param value7     * @param value8     */    public static void serialize(GenericByteBuffer outputBuffer,                                 boolean value1, boolean value2,                                 boolean value3, boolean value4,                                 boolean value5, boolean value6,                                 boolean value7, boolean value8) {        serialize(outputBuffer,                  (byte) (offsetValue(value1, 0) + offsetValue(value2, 1)                          + offsetValue(value3, 2) + offsetValue(value4, 3)                          + offsetValue(value5, 4) + offsetValue(value6, 5)                          + offsetValue(value7, 6) + offsetValue(value8, 7)));    }    /**     * Method serialize     *     * @param outputBuffer     * @param value     */    protected static void serialize(GenericByteBuffer outputBuffer,                                    byte value) {        outputBuffer.put(value);    }    /**     * Method isOffsetSet     *     * @param theData     * @param offset     * @return     */    protected static boolean isOffsetSet(byte theData, int offset) {        byte newValue = (byte) (theData << (7 - offset));        if (newValue >= 0) {            return false;        } else {            return true;        }    }    /**     * Method deSerialize     *     * @param inputBuffer     * @return     */    public static boolean deSerialize(GenericByteBuffer inputBuffer) {        return isOffsetSet(inputBuffer.get(), 0);    }    /**     * Method deSerialize     *     * @param inputBuffer     * @param numBooleans     * @return     */    public static boolean[] deSerialize(GenericByteBuffer inputBuffer,                                        int numBooleans) {        boolean obj[] = new boolean[numBooleans];        byte theData = inputBuffer.get();        for (int i = 0; i < numBooleans; i++) {            obj[i] = isOffsetSet(theData, i);        }        return obj;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?