/*-
 * See the file LICENSE for redistribution information.
 *
 * Copyright (c) 2000, 2010 Oracle and/or its affiliates.  All rights reserved.
 *
 */
package com.sleepycat.bind.tuple;
import java.math.BigDecimal;
import com.sleepycat.db.DatabaseEntry;
/**
 * A concrete TupleBinding for an unsorted BigDecimal
 * value.
 *
 * 
There are two ways to use this class:
*BigDecimal value.
     *
     * @param entry is the source entry buffer.
     *
     * @return the resulting value.
     */
    public static BigDecimal entryToBigDecimal(DatabaseEntry entry) {
        return entryToInput(entry).readBigDecimal();
    }
    /**
     * Converts a BigDecimal value into an entry buffer.
     *
     * @param val is the source value.
     *
     * @param entry is the destination entry buffer.
     */
    public static void bigDecimalToEntry(BigDecimal val, DatabaseEntry entry) {
        outputToEntry(sizedOutput(val).writeBigDecimal(val), entry);
    }
    /**
     * Returns a tuple output object of the maximum size needed, to avoid
     * wasting space when a single primitive is output.
     */
    private static TupleOutput sizedOutput(BigDecimal val) {
        int len = TupleOutput.getBigDecimalMaxByteLength(val);
        return new TupleOutput(new byte[len]);
    }
}