public abstract class TablesColumnIndex
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
TablesColumnIndex.INDEXTYPE |
Modifier and Type | Field and Description |
---|---|
protected static java.util.Comparator<byte[]> |
NATURALORDER |
private TablesColumnIndex.INDEXTYPE |
type |
Constructor and Description |
---|
TablesColumnIndex(TablesColumnIndex.INDEXTYPE type) |
Modifier and Type | Method and Description |
---|---|
void |
add(java.util.Map<java.lang.String,java.lang.String> columns,
java.util.Map<java.lang.String,java.lang.String> map,
byte[] pk) |
void |
add(java.util.Map<java.lang.String,java.lang.String> columns,
Tables.Data row,
byte[] pk) |
void |
add(java.util.Map<java.lang.String,java.lang.String> columns,
Tables.Row row) |
void |
add(java.lang.String columnName,
java.lang.String separator,
java.util.Map<java.lang.String,java.lang.String> map,
byte[] pk) |
void |
add(java.lang.String columnName,
java.lang.String separator,
Tables.Data row,
byte[] pk) |
void |
add(java.lang.String columnName,
java.lang.String separator,
Tables.Row row) |
void |
buildIndex(java.util.Map<java.lang.String,java.lang.String> columns,
java.util.Iterator<Tables.Row> table)
create an index for a given table and given columns
|
protected abstract void |
clear() |
abstract java.util.Collection<java.lang.String> |
columns() |
abstract boolean |
containsKey(java.lang.String columnName,
java.lang.String key) |
void |
delete(byte[] pk) |
abstract void |
deleteIndex(java.lang.String columnName) |
abstract java.util.Collection<byte[]> |
get(java.lang.String columnName,
java.lang.String key) |
TablesColumnIndex.INDEXTYPE |
getType() |
abstract boolean |
hasIndex(java.lang.String columnName) |
private void |
insertPK(java.lang.String columnName,
java.lang.String[] columnValues,
byte[] pk) |
protected abstract void |
insertPK(java.lang.String columnName,
java.lang.String columnValue,
byte[] pk) |
abstract java.util.Set<java.lang.String> |
keySet(java.lang.String columnName) |
protected abstract void |
removePK(byte[] pk) |
abstract int |
size() |
abstract int |
size(java.lang.String columnName) |
void |
update(java.util.Map<java.lang.String,java.lang.String> columns,
Tables.Row row) |
void |
update(java.lang.String columnName,
java.lang.String separator,
Tables.Row row) |
private TablesColumnIndex.INDEXTYPE type
protected static final java.util.Comparator<byte[]> NATURALORDER
public TablesColumnIndex(TablesColumnIndex.INDEXTYPE type)
protected abstract void insertPK(java.lang.String columnName, java.lang.String columnValue, byte[] pk)
protected abstract void removePK(byte[] pk)
protected abstract void clear()
public abstract java.util.Set<java.lang.String> keySet(java.lang.String columnName)
public abstract boolean containsKey(java.lang.String columnName, java.lang.String key)
public abstract boolean hasIndex(java.lang.String columnName)
public abstract java.util.Collection<byte[]> get(java.lang.String columnName, java.lang.String key)
public abstract int size(java.lang.String columnName)
public abstract int size()
public abstract java.util.Collection<java.lang.String> columns()
public abstract void deleteIndex(java.lang.String columnName)
public TablesColumnIndex.INDEXTYPE getType()
public void buildIndex(java.util.Map<java.lang.String,java.lang.String> columns, java.util.Iterator<Tables.Row> table)
columns
- - a map of column names and booleans for 'valueIsArray' you want to build an index forseparator
- - a string value used to split column values into an arraytable
- - an iterator over table rows which should be added to the indexprivate void insertPK(java.lang.String columnName, java.lang.String[] columnValues, byte[] pk)
public void delete(byte[] pk)
public void update(java.lang.String columnName, java.lang.String separator, Tables.Row row)
public void update(java.util.Map<java.lang.String,java.lang.String> columns, Tables.Row row)
public void add(java.lang.String columnName, java.lang.String separator, java.util.Map<java.lang.String,java.lang.String> map, byte[] pk)
public void add(java.lang.String columnName, java.lang.String separator, Tables.Data row, byte[] pk)
public void add(java.lang.String columnName, java.lang.String separator, Tables.Row row)
public void add(java.util.Map<java.lang.String,java.lang.String> columns, java.util.Map<java.lang.String,java.lang.String> map, byte[] pk)
public void add(java.util.Map<java.lang.String,java.lang.String> columns, Tables.Data row, byte[] pk)
public void add(java.util.Map<java.lang.String,java.lang.String> columns, Tables.Row row)