org.apache.directory.server.core.avltree
Class AvlTreeMarshaller<E>

java.lang.Object
  extended by org.apache.directory.server.core.avltree.AvlTreeMarshaller<E>
All Implemented Interfaces:
Marshaller<AvlTree<E>>

public class AvlTreeMarshaller<E>
extends java.lang.Object
implements Marshaller<AvlTree<E>>

Class to serialize the AvlTree node data.

Version:
$Rev$, $Date$
Author:
Apache Directory Project

Constructor Summary
AvlTreeMarshaller(java.util.Comparator<E> comparator)
          Creates a new instance of AvlTreeMarshaller with the default key Marshaller which uses Java Serialization.
AvlTreeMarshaller(java.util.Comparator<E> comparator, Marshaller<E> keyMarshaller)
          Creates a new instance of AvlTreeMarshaller with a custom key Marshaller.
 
Method Summary
 AvlTree<E> deserialize(byte[] data)
          Creates an AVLTree from given bytes of data.
 LinkedAvlNode<E> readTree(java.io.DataInputStream in, LinkedAvlNode<E> node, LinkedAvlNode[] nodes)
          Reads the data from given InputStream and creates the LinkedAvlNodes to form the tree node = [size] [data-length] [data] [index] [child-marker] [node] [child-marker] [node].
 byte[] serialize(AvlTree<E> tree)
          Marshals the given tree to bytes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AvlTreeMarshaller

public AvlTreeMarshaller(java.util.Comparator<E> comparator,
                         Marshaller<E> keyMarshaller)
Creates a new instance of AvlTreeMarshaller with a custom key Marshaller.

Parameters:
comparator - Comparator to be used for key comparision
keyMarshaller - marshaller for keys

AvlTreeMarshaller

public AvlTreeMarshaller(java.util.Comparator<E> comparator)
Creates a new instance of AvlTreeMarshaller with the default key Marshaller which uses Java Serialization.

Parameters:
comparator - Comparator to be used for key comparision
Method Detail

serialize

public byte[] serialize(AvlTree<E> tree)
Marshals the given tree to bytes

Specified by:
serialize in interface Marshaller<AvlTree<E>>
Parameters:
tree - the tree to be marshalled

deserialize

public AvlTree<E> deserialize(byte[] data)
                       throws java.io.IOException
Creates an AVLTree from given bytes of data.

Specified by:
deserialize in interface Marshaller<AvlTree<E>>
Parameters:
data - byte array to be converted into AVLTree
Throws:
java.io.IOException

readTree

public LinkedAvlNode<E> readTree(java.io.DataInputStream in,
                                 LinkedAvlNode<E> node,
                                 LinkedAvlNode[] nodes)
                          throws java.io.IOException
Reads the data from given InputStream and creates the LinkedAvlNodes to form the tree node = [size] [data-length] [data] [index] [child-marker] [node] [child-marker] [node].

Parameters:
in - the input stream to deserialize from
node - the node to deserialize
Returns:
the deserialized AvlTree node
Throws:
java.io.IOException - on failures to deserialize or read from the stream


Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.