IndexImpl implements Index<T> { protected boolean hasColumn(ColumnImpl col) { if (col.isIndexed()) { int id = col.storeId; if (id != ColumnStore.NULL_ID && columns.length > id && columns[id].column == col) { return true; } } return false; } 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 testHasColumn() { ColumnStore<Node> columnStore = generateEmptyNodeStore(); IndexImpl<Node> index = columnStore.indexStore.mainIndex; ColumnImpl col1 = new ColumnImpl("foo", String.class, "foo", null, Origin.DATA, true, false); ColumnImpl col2 = new ColumnImpl("bar", String.class, "bar", null, Origin.DATA, false, false); col1.setStoreId(0); col2.setStoreId(1); Assert.assertFalse(index.hasColumn(col1)); index.addColumn(col1); index.addColumn(col2); Assert.assertTrue(index.hasColumn(col1)); Assert.assertFalse(index.hasColumn(col2)); }