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 + -
显示快捷键?