1 // //////////////////////////////////////////////////////////////////////////// 2 // dexterIM - Instant Messaging Framework 3 // Copyright (C) 2003 Christoph Walcher 4 // 5 // This program is free software; you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation; either version 2 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with this program; if not, write to the Free Software 17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 ////////////////////////////////////////////////////////////////////////////// 19 package net.sf.dexterim.oscar.entity; 20 21 22 /*** 23 * @author christoph 24 * TODO: Message toByteArray contains duplicate code (copied from ByteBase) 25 */ 26 public class QWord implements ByteBased { 27 private long value; 28 29 public QWord(long value) { 30 this.value = value; 31 } 32 33 public QWord() { 34 this(0); 35 } 36 37 /*** 38 * @see net.sf.dexterim.oscar.entity.ByteBased#getLength() 39 */ 40 public int getLength() { 41 return 8; 42 } 43 44 /*** 45 * Returns the value as long 46 * @return 47 */ 48 public long getValue() { 49 return value; 50 } 51 52 /*** 53 * @see net.sf.dexterim.oscar.entity.ByteBased#toByteArray() 54 */ 55 public byte[] toByteArray() { 56 byte returnValue[] = new byte[getLength()]; 57 58 long tmp = value; 59 60 for (int i = getLength() - 1; i >= 0; i--) { 61 returnValue[i] = (byte) (tmp & 0xFF); 62 63 tmp = tmp >>> 8; 64 } 65 66 return returnValue; 67 } 68 }