## org.h2.index
Class IndexCursor

    java.lang.Object
      org.h2.index.IndexCursor

All Implemented Interfaces:
  Cursor

    public class IndexCursor

extends java.lang.Object
implements Cursor

The filter used to walk through an index. This class supports IN(..) and IN(SELECT ...) optimizations.

Constructor Summary
`IndexCursor(TableFilter filter)`

Method Summary
`void` `find(Session s, java.util.ArrayList<IndexCondition> indexConditions)` Re-evaluate the start and end values of the index search for rows.
`Row` `get()` Get the complete current row.
`SearchRow` `getEnd()` Get end search row.
`SearchRow` `getSearchRow()` Get the current row.
`SearchRow` `getStart()` Get start search row.
`boolean` `isAlwaysFalse()` Check if the result is empty for sure.
`boolean` `next()` Skip to the next row if one is available.
`void` `prepare(Session s, java.util.ArrayList<IndexCondition> indexConditions)` Prepare this index cursor to make a lookup in index.
`boolean` `previous()` Skip to the previous row if one is available.
`void` `setIndex(Index index)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IndexCursor

    public IndexCursor(TableFilter filter)

Method Detail

### setIndex

    public void setIndex(Index index)

### prepare

    public void prepare(Session s,
                        java.util.ArrayList<IndexCondition> indexConditions)

  Prepare this index cursor to make a lookup in index.

  Parameters:
    `s` - Session.
    `indexConditions` - Index conditions.

### find

    public void find(Session s,
                     java.util.ArrayList<IndexCondition> indexConditions)

  Re-evaluate the start and end values of the index search for rows.

  Parameters:
    `s` - the session
    `indexConditions` - the index conditions

### isAlwaysFalse

    public boolean isAlwaysFalse()

  Check if the result is empty for sure.

  Returns:
    true if it is

### getStart

    public SearchRow getStart()

  Get start search row.

  Returns:
    search row

### getEnd

    public SearchRow getEnd()

  Get end search row.

  Returns:
    search row

### get

    public Row get()

  Description copied from interface: `Cursor`
  Get the complete current row. All column are available.

  Specified by:
    `get` in interface `Cursor`
  Returns:
    the complete row

### getSearchRow

    public SearchRow getSearchRow()

  Description copied from interface: `Cursor`
  Get the current row. Only the data for indexed columns is available in this row.

  Specified by:
    `getSearchRow` in interface `Cursor`
  Returns:
    the search row

### next

    public boolean next()

  Description copied from interface: `Cursor`
  Skip to the next row if one is available.

  Specified by:
    `next` in interface `Cursor`
  Returns:
    true if another row is available

### previous

    public boolean previous()

  Description copied from interface: `Cursor`
  Skip to the previous row if one is available. No filtering is made here.

  Specified by:
    `previous` in interface `Cursor`
  Returns:
    true if another row is available