summaryrefslogtreecommitdiff
path: root/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java
diff options
context:
space:
mode:
Diffstat (limited to 'xmerge/java/org/openoffice/xmerge/util/EndianConverter.java')
-rw-r--r--xmerge/java/org/openoffice/xmerge/util/EndianConverter.java179
1 files changed, 0 insertions, 179 deletions
diff --git a/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java b/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java
deleted file mode 100644
index 353bee82efdc..000000000000
--- a/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-package org.openoffice.xmerge.util;
-
-
-/**
- * <p>Helper class providing static methods to convert data to/from
- * Network Byte Order (Big Endian).</p>
- *
- * <p>With the introduction of <code>java.nio.ByteOrder</code> and
- * <code>java.nio.ByteBuffer</code> in Java 1.4, it may no longer be
- * necessary to use this class in the future.</p>
- *
- * @author Mark Murnane
- * @version 1.1
- */
-public class EndianConverter {
-
- /**
- * <p>Convert a <code>short</code> to a Little Endian representation.</p>
- *
- * @param value The <code>short</code> to be converted.
- *
- * @return Two element <code>byte</code> array containing the converted
- * value.
- */
- public static byte[] writeShort (short value) {
- byte[] leShort = new byte[2];
-
- leShort[0] = (byte) value;
- leShort[1] = (byte) (value >>> 8);
-
- return leShort;
- }
-
-
- /**
- * <p>Convert an integer to a Little Endian representation.</p>
- *
- * @param value The <code>int</code> to be converted.
- *
- * @return Four element <code>byte</code> array containing the converted
- * value.
- */
- public static byte[] writeInt (int value) {
- byte[] leInt = new byte[4];
-
- leInt[0] = (byte) value;
- leInt[1] = (byte) (value >>> 8);
- leInt[2] = (byte) (value >>> 16);
- leInt[3] = (byte) (value >>> 24);
-
- return leInt;
- }
-
- /**
- * <p>Converts a <code>double</code> to a Little Endian representation
- * of a float in IEEE-754 format.
- *
- * <p>An array with more than eight elements can be used, but only the first
- * eight elements will be read.</p>
- *
- * @param value <code>double</code> containing the value to be converted
- *
- * @return <code>byte</code> array containing the LE representation of a IEEE-754 float
- */
- public static byte[] writeDouble(double value) {
-
- long myDouble = Double.doubleToLongBits(value);
- byte[] leDouble = new byte[8];
-
- leDouble[0] = (byte) (myDouble >>> 0);
- leDouble[1] = (byte) (myDouble >>> 8);
- leDouble[2] = (byte) (myDouble >>> 16);
- leDouble[3] = (byte) (myDouble >>> 24);
- leDouble[4] = (byte) (myDouble >>> 32);
- leDouble[5] = (byte) (myDouble >>> 40);
- leDouble[6] = (byte) (myDouble >>> 48);
- leDouble[7] = (byte) (myDouble >>> 56);
-
- return leDouble;
- }
-
- /**
- * <p>Convert a Little Endian representation of a short to a Java
- * <code>short</code> (Network Byte Order).</p>
- *
- * <p>An array with more than two elements can be used, but only the first
- * two elements will be read.</p>
- *
- * @param value <code>byte</code> array containing the LE representation
- * of the value.
- *
- * @return <code>short</code> containing the converted value.
- */
- public static short readShort (byte[] value) {
- int high, low;
-
- high = value[1] & 0xFF;
- low = value[0] & 0xFF;
-
- return (short)(high << 8 | low);
- }
-
-
- /**
- * <p>Convert a Little Endian representation of an integer to a Java
- * <code>int</code> (Network Byte Order).</p>
- *
- * <p>An array with more than four elements can be used, but only the first
- * four elements will be read.</p>
- *
- * @param value <code>byte</code> array containing the LE representation
- * of the value.
- *
- * @return <code>int</code> containing the converted value.
- */
- public static int readInt(byte[] value) {
- int number = 0;
-
- for (int i = 0; i < 4; i++) {
- number |= (value[i] & 0xFF) << ( i * 8);
- }
-
- return number;
- }
-
- /**
- * <p>Convert a Little Endian representation of a float in IEEE-754 Little
- * Endian to a Java <code>double</code> (Network Byte Order).</p>
- *
- * <p>An array with more than eight elements can be used, but only the first
- * eight elements will be read.</p>
- *
- * @param value <code>byte</code> array containing the LE representation
- * of a IEEE-754 float.
- *
- * @return <code>double</code> containing the converted value.
- */
- public static double readDouble(byte[] value) {
-
- long lvalue = ( ((long)(value[7]) << 56) +
- ((long)(value[6]&0xFF) << 48) +
- ((long)(value[5]&0xFF) << 40) +
- ((long)(value[4]&0xFF) << 32) +
- ((long)(value[3]&0xFF) << 24) +
- ((long)(value[2]&0xFF) << 16) +
- ((long)(value[1]&0xFF) << 8) +
- (long)(value[0]&0xFF));
-
- return Double.longBitsToDouble(lvalue);
- }
-}