Main Page | Class Hierarchy | Data Structures | Directories | File List | Data Fields | Related Pages

DoubleBinding.java

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

Generated on Sun Dec 25 12:14:30 2005 for Berkeley DB 4.4.16 by  doxygen 1.4.2