00001 /*- 00002 * See the file LICENSE for redistribution information. 00003 * 00004 * Copyright (c) 2000-2005 00005 * Sleepycat Software. All rights reserved. 00006 * 00007 * $Id: IntegerBinding.java,v 12.2 2005/08/01 20:25:14 mark Exp $ 00008 */ 00009 00010 package com.sleepycat.bind.tuple; 00011 00012 import com.sleepycat.db.DatabaseEntry; 00013 00029 public class IntegerBinding extends TupleBinding { 00030 00031 private static final int INT_SIZE = 4; 00032 00033 // javadoc is inherited 00034 public Object entryToObject(TupleInput input) { 00035 00036 return new Integer(input.readInt()); 00037 } 00038 00039 // javadoc is inherited 00040 public void objectToEntry(Object object, TupleOutput output) { 00041 00042 output.writeInt(((Number) object).intValue()); 00043 } 00044 00045 // javadoc is inherited 00046 protected TupleOutput getTupleOutput(Object object) { 00047 00048 return sizedOutput(); 00049 } 00050 00058 public static int entryToInt(DatabaseEntry entry) { 00059 00060 return entryToInput(entry).readInt(); 00061 } 00062 00070 public static void intToEntry(int val, DatabaseEntry entry) { 00071 00072 outputToEntry(sizedOutput().writeInt(val), entry); 00073 } 00074 00079 private static TupleOutput sizedOutput() { 00080 00081 return new TupleOutput(new byte[INT_SIZE]); 00082 } 00083 }