Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * See the file LICENSE for redistribution information.
  * Copyright (c) 2000, 2010 Oracle and/or its affiliates.  All rights reserved.
 package com.sleepycat.bind.serial;
A base class for serial bindings creators that provides control over the allocation of the output buffer.

Serial bindings append data to a com.sleepycat.util.FastOutputStream instance. This object has a byte array buffer that is resized when it is full. The reallocation of this buffer can be a performance factor for some applications using large objects. To manage this issue, the setSerialBufferSize(int) method may be used to control the initial size of the buffer, and the getSerialOutput(java.lang.Object) method may be overridden by subclasses to take over creation of the FastOutputStream object.

Mark Hayes
See also:
Class Evolution
public class SerialBase {
    private int outputBufferSize;

Initializes the initial output buffer size to zero.

Unless setSerialBufferSize(int) is called, the default com.sleepycat.util.FastOutputStream.DEFAULT_INIT_SIZE size will be used.

    public SerialBase() {
         = 0;

Sets the initial byte size of the output buffer that is allocated by the default implementation of getSerialOutput(java.lang.Object).

If this property is zero (the default), the default com.sleepycat.util.FastOutputStream.DEFAULT_INIT_SIZE size is used.

byteSize the initial byte size of the output buffer, or zero to use the default size.
    public void setSerialBufferSize(int byteSize) {
         = byteSize;

Returns the initial byte size of the output buffer.

the initial byte size of the output buffer.
See also:
    public int getSerialBufferSize() {
        return ;

Returns an empty SerialOutput instance that will be used by the serial binding or key creator.

The default implementation of this method creates a new SerialOutput with an initial buffer size that can be changed using the setSerialBufferSize(int) method.

This method may be overridden to return a FastOutputStream instance. For example, an instance per thread could be created and returned by this method. If a FastOutputStream instance is reused, be sure to call its com.sleepycat.util.FastOutputStream.reset() method before each use.

object is the object to be written to the serial output, and may be used by subclasses to determine the size of the output buffer.
an empty FastOutputStream instance.
See also:
    protected FastOutputStream getSerialOutput(Object object) {
        int byteSize = getSerialBufferSize();
        if (byteSize != 0) {
            return new FastOutputStream(byteSize);
        } else {
            return new FastOutputStream();
New to GrepCode? Check out our FAQ X