org.apache.derby.impl.store.access.sort
Class NodeAllocator

java.lang.Object
  extended by org.apache.derby.impl.store.access.sort.NodeAllocator

final class NodeAllocator
extends java.lang.Object

NodeAllocator manages an array of nodes which can be reused.


Field Summary
private  Node[] array
           
private static int DEFAULT_INIT_SIZE
           
private static int DEFAULT_MAX_SIZE
           
private  Node freeList
           
private static int GROWTH_MULTIPLIER
           
private  int maxSize
           
private  int nAllocated
           
 
Constructor Summary
NodeAllocator()
          Construct an empty allocator.
 
Method Summary
 int capacity()
           
 void close()
           
 void freeNode(Node n)
          Return a node to the allocator.
 void grow(int percent)
          Expand the node allocator's capacity by certain percent.
 boolean init()
          Initialize the allocator with default values for initial and maximum size.
 boolean init(int maxSize)
          Initialize the allocator with default values for initial size and the provided maximum size.
 boolean init(int initSize, int maxSize)
          Initialize the allocator with the given initial and maximum sizes.
 Node newNode()
           
 void reset()
          Clear all nodes that this allocator has allocated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_INIT_SIZE

private static final int DEFAULT_INIT_SIZE
See Also:
Constant Field Values

GROWTH_MULTIPLIER

private static final int GROWTH_MULTIPLIER
See Also:
Constant Field Values

DEFAULT_MAX_SIZE

private static final int DEFAULT_MAX_SIZE
See Also:
Constant Field Values

array

private Node[] array

maxSize

private int maxSize

nAllocated

private int nAllocated

freeList

private Node freeList
Constructor Detail

NodeAllocator

public NodeAllocator()
Construct an empty allocator. The caller must call init() before using it.

Method Detail

newNode

public Node newNode()

freeNode

public void freeNode(Node n)
Return a node to the allocator.


init

public boolean init()
Initialize the allocator with default values for initial and maximum size. Returns false if sufficient memory could not be allocated.


init

public boolean init(int maxSize)
Initialize the allocator with default values for initial size and the provided maximum size. Returns false if sufficient memory could not be allocated.


init

public boolean init(int initSize,
                    int maxSize)
Initialize the allocator with the given initial and maximum sizes. This method does not check, but assumes that the value of initSize is less than the value of maxSize, and that they are both powers of two. Returns false if sufficient memory could not be allocated.


grow

public void grow(int percent)
Expand the node allocator's capacity by certain percent.


reset

public void reset()
Clear all nodes that this allocator has allocated. The allocator must already have been initialized.


close

public void close()

capacity

public int capacity()

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.