org.apache.directory.server.core.partition.impl.btree.jdbm
Class DupsContainerCursor<K,V>

java.lang.Object
  extended by org.apache.directory.server.xdbm.AbstractTupleCursor<K,DupsContainer<V>>
      extended by org.apache.directory.server.core.partition.impl.btree.jdbm.DupsContainerCursor<K,V>
All Implemented Interfaces:
java.lang.Iterable<Tuple<K,DupsContainer<V>>>, TupleCursor<K,DupsContainer<V>>, org.apache.directory.shared.ldap.cursor.Cursor<Tuple<K,DupsContainer<V>>>

public class DupsContainerCursor<K,V>
extends AbstractTupleCursor<K,DupsContainer<V>>

A cursor for browsing tables with duplicates which returns the container for values rather than just the value.

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

Constructor Summary
DupsContainerCursor(JdbmTable<K,V> table)
          Creates a Cursor over the tuples of a JDBM table.
 
Method Summary
 void after(Tuple<K,DupsContainer<V>> element)
           
 void afterKey(K key)
          An alternative to calling after(Tuple) which often may require wrapping a key in a newly created Tuple object that may be unnecessary.
 void afterLast()
           
 void afterValue(K key, DupsContainer<V> value)
          An alternative to calling after(Tuple) which often may require wrapping a key and a value in a newly created Tuple object that may be unnecessary.
 boolean available()
           
 void before(Tuple<K,DupsContainer<V>> element)
          Positions this Cursor before the key of the supplied tuple.
 void beforeFirst()
           
 void beforeKey(K key)
          An alternative to calling before(Tuple) which often may require wrapping a key in a newly created Tuple object that may be unnecessary.
 void beforeValue(K key, DupsContainer<V> value)
          An alternative to calling before(Tuple) which often may require wrapping a key and a value in a newly created Tuple object that may be unnecessary.
 boolean first()
           
 Tuple<K,DupsContainer<V>> get()
           
 boolean isElementReused()
           
 boolean last()
           
 boolean next()
           
 boolean previous()
           
 
Methods inherited from class org.apache.directory.server.xdbm.AbstractTupleCursor
checkNotClosed, close, close, isClosed, iterator, setClosureMonitor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DupsContainerCursor

public DupsContainerCursor(JdbmTable<K,V> table)
                    throws java.io.IOException
Creates a Cursor over the tuples of a JDBM table.

Parameters:
table - the JDBM Table to build a Cursor over
Throws:
java.io.IOException - of there are problems accessing the BTree
Method Detail

available

public boolean available()

beforeKey

public void beforeKey(K key)
               throws java.lang.Exception
Description copied from interface: TupleCursor
An alternative to calling before(Tuple) which often may require wrapping a key in a newly created Tuple object that may be unnecessary. This method behaves just like before(Tuple) except it advances to just before the first value of the key.

Parameters:
key - the key to advance just before
Throws:
java.lang.Exception - if there are faults peforming this operation

afterKey

public void afterKey(K key)
              throws java.lang.Exception
Description copied from interface: TupleCursor
An alternative to calling after(Tuple) which often may require wrapping a key in a newly created Tuple object that may be unnecessary. This method behaves just like after(Tuple) except it advances to just after the last value of the key.

Parameters:
key - the key to advance just after the last value
Throws:
java.lang.Exception - if there are faults peforming this operation

beforeValue

public void beforeValue(K key,
                        DupsContainer<V> value)
                 throws java.lang.Exception
Description copied from interface: TupleCursor
An alternative to calling before(Tuple) which often may require wrapping a key and a value in a newly created Tuple object that may be unnecessary. This method behaves just like before(Tuple) except it advances to just before the value of the key which may still be of the same key. This method will not be supported if duplicate keys are not supported. In this case an UnsupportedOperationException will be thrown.

Parameters:
key - the key of the value to advance just before
value - the value to advance just before
Throws:
java.lang.UnsupportedOperationException - if duplicate keys not supporrted
java.lang.Exception - if there are faults peforming this operation

afterValue

public void afterValue(K key,
                       DupsContainer<V> value)
                throws java.lang.Exception
Description copied from interface: TupleCursor
An alternative to calling after(Tuple) which often may require wrapping a key and a value in a newly created Tuple object that may be unnecessary. This method behaves just like after(Tuple) except it advances to just after the value with the specified key. This method will not be supported if duplicate keys are not supported. In this case an UnsupportedOperationException will be thrown.

Parameters:
key - the key of the value to advance just after
value - the value to advance just after
Throws:
java.lang.UnsupportedOperationException - if duplicate keys not supporrted
java.lang.Exception - if there are faults peforming this operation

before

public void before(Tuple<K,DupsContainer<V>> element)
            throws java.lang.Exception
Positions this Cursor before the key of the supplied tuple.

Parameters:
element - the tuple who's key is used to position this Cursor
Throws:
java.io.IOException - if there are failures to position the Cursor
java.lang.Exception

after

public void after(Tuple<K,DupsContainer<V>> element)
           throws java.lang.Exception
Throws:
java.lang.Exception

beforeFirst

public void beforeFirst()
                 throws java.lang.Exception
Throws:
java.lang.Exception

afterLast

public void afterLast()
               throws java.lang.Exception
Throws:
java.lang.Exception

first

public boolean first()
              throws java.lang.Exception
Throws:
java.lang.Exception

last

public boolean last()
             throws java.lang.Exception
Throws:
java.lang.Exception

previous

public boolean previous()
                 throws java.lang.Exception
Throws:
java.lang.Exception

next

public boolean next()
             throws java.lang.Exception
Throws:
java.lang.Exception

get

public Tuple<K,DupsContainer<V>> get()
                              throws java.lang.Exception
Throws:
java.lang.Exception

isElementReused

public boolean isElementReused()


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