IndexImpl implements Index<T> { protected void destroy() { for (AbstractIndex ai : columns) { if (ai != null) { ai.destroy(); } } columns = new AbstractIndex[0]; columnsCount = 0; } IndexImpl(ColumnStore<T> columnStore); @Override Class<T> getIndexClass(); @Override String getIndexName(); @Override int count(Column column, Object value); int count(String key, Object value); Iterable<T> get(String key, Object value); @Override Iterable<T> get(Column column, Object value); @Override boolean isSortable(Column column); @Override Number getMinValue(Column column); @Override Number getMaxValue(Column column); Iterable<Map.Entry<Object, Set<T>>> get(Column column); @Override Collection values(Column column); @Override int countValues(Column column); @Override int countElements(Column column); Object put(String key, Object value, T element); Object put(Column column, Object value, T element); void remove(String key, Object value, T element); void remove(Column column, Object value, T element); Object set(String key, Object oldValue, Object value, T element); Object set(Column column, Object oldValue, Object value, T element); void clear();  }
@Test public void testDestroy() { ColumnStore<Node> columnStore = generateEmptyNodeStore(); IndexImpl<Node> index = columnStore.indexStore.mainIndex; ColumnImpl col = new ColumnImpl("1", String.class, "1", null, Origin.DATA, true, false); col.setStoreId(0); index.addColumn(col); index.destroy(); Assert.assertEquals(index.size(), 0); Assert.assertNull(index.getIndex(col)); }