test_class.file: code/src/test/java/com/googlecode/cqengine/index/navigable/NavigableIndexTest.java
test_class.identifier: NavigableIndexTest
test_case.body: @Test
      public void testGetStatisticsForDistinctKeys(){
          IndexedCollection<Car> collection = new ConcurrentIndexedCollection<Car>();
          KeyStatisticsIndex<String, Car> MANUFACTURER_INDEX = NavigableIndex.onAttribute(Car.MANUFACTURER);
          collection.addIndex(MANUFACTURER_INDEX);
  
          collection.addAll(CarFactory.createCollectionOfCars(20));
  
          Set<KeyStatistics<String>> keyStatistics = setOf(MANUFACTURER_INDEX.getStatisticsForDistinctKeys(noQueryOptions()));
          Assert.assertEquals(setOf(
                          new KeyStatistics<String>("Ford", 6),
                          new KeyStatistics<String>("Honda", 6),
                          new KeyStatistics<String>("Toyota", 6),
                          new KeyStatistics<String>("BMW", 2)
  
                  ),
                  keyStatistics);
      }
test_case.class_method_signature: NavigableIndexTest.testGetStatisticsForDistinctKeys()
test_case.full_signature: @Test public void testGetStatisticsForDistinctKeys()
test_case.identifier: testGetStatisticsForDistinctKeys
test_case.invocations: onAttribute addIndex addAll createCollectionOfCars setOf getStatisticsForDistinctKeys noQueryOptions assertEquals setOf
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetStatisticsForDistinctKeys()
focal_class.declarator: INDEX_RETRIEVAL_COST = 40
focal_class.modifier: protected static final
focal_class.original_string: protected static final int INDEX_RETRIEVAL_COST = 40;
focal_class.type: int
focal_class.var_name: INDEX_RETRIEVAL_COST
focal_class.file: code/src/main/java/com/googlecode/cqengine/index/navigable/NavigableIndex.java
focal_class.identifier: NavigableIndex
focal_class.interfaces: implements SortedKeyStatisticsAttributeIndex<A, O>, OnHeapTypeIndex
focal_class.class_method_signature: NavigableIndex.NavigableIndex(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.full_signature: protected  NavigableIndex(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.identifier: NavigableIndex
focal_class.modifiers: protected
focal_class.parameters: (Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.signature:  NavigableIndex(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.class_method_signature: NavigableIndex.isMutable()
focal_class.full_signature: @Override public boolean isMutable()
focal_class.identifier: isMutable
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isMutable()
focal_class.class_method_signature: NavigableIndex.getEffectiveIndex()
focal_class.full_signature: @Override public Index<O> getEffectiveIndex()
focal_class.identifier: getEffectiveIndex
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Index<O>
focal_class.signature: Index<O> getEffectiveIndex()
focal_class.class_method_signature: NavigableIndex.retrieve(final Query<O> query, final QueryOptions queryOptions)
focal_class.full_signature: @Override public ResultSet<O> retrieve(final Query<O> query, final QueryOptions queryOptions)
focal_class.identifier: retrieve
focal_class.modifiers: @Override public
focal_class.parameters: (final Query<O> query, final QueryOptions queryOptions)
focal_class.return: ResultSet<O>
focal_class.signature: ResultSet<O> retrieve(final Query<O> query, final QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.retrieveIn(final In<O, A> in, final QueryOptions queryOptions)
focal_class.full_signature: protected ResultSet<O> retrieveIn(final In<O, A> in, final QueryOptions queryOptions)
focal_class.identifier: retrieveIn
focal_class.modifiers: protected
focal_class.parameters: (final In<O, A> in, final QueryOptions queryOptions)
focal_class.return: ResultSet<O>
focal_class.signature: ResultSet<O> retrieveIn(final In<O, A> in, final QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.retrieveEqual(final Equal<O, A> equal, final QueryOptions queryOptions)
focal_class.full_signature: protected ResultSet<O> retrieveEqual(final Equal<O, A> equal, final QueryOptions queryOptions)
focal_class.identifier: retrieveEqual
focal_class.modifiers: protected
focal_class.parameters: (final Equal<O, A> equal, final QueryOptions queryOptions)
focal_class.return: ResultSet<O>
focal_class.signature: ResultSet<O> retrieveEqual(final Equal<O, A> equal, final QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getDistinctKeys(QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<A> getDistinctKeys(QueryOptions queryOptions)
focal_class.identifier: getDistinctKeys
focal_class.modifiers: @Override public
focal_class.parameters: (QueryOptions queryOptions)
focal_class.return: CloseableIterable<A>
focal_class.signature: CloseableIterable<A> getDistinctKeys(QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getDistinctKeys(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<A> getDistinctKeys(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.identifier: getDistinctKeys
focal_class.modifiers: @Override public
focal_class.parameters: (A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.return: CloseableIterable<A>
focal_class.signature: CloseableIterable<A> getDistinctKeys(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getDistinctKeysDescending(QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<A> getDistinctKeysDescending(QueryOptions queryOptions)
focal_class.identifier: getDistinctKeysDescending
focal_class.modifiers: @Override public
focal_class.parameters: (QueryOptions queryOptions)
focal_class.return: CloseableIterable<A>
focal_class.signature: CloseableIterable<A> getDistinctKeysDescending(QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getDistinctKeysDescending(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<A> getDistinctKeysDescending(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.identifier: getDistinctKeysDescending
focal_class.modifiers: @Override public
focal_class.parameters: (A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.return: CloseableIterable<A>
focal_class.signature: CloseableIterable<A> getDistinctKeysDescending(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getDistinctKeysInRange(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.full_signature:  NavigableSet<A> getDistinctKeysInRange(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.identifier: getDistinctKeysInRange
focal_class.parameters: (A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.return: NavigableSet<A>
focal_class.signature: NavigableSet<A> getDistinctKeysInRange(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.class_method_signature: NavigableIndex.getCountForKey(A key, QueryOptions queryOptions)
focal_class.full_signature: @Override public Integer getCountForKey(A key, QueryOptions queryOptions)
focal_class.identifier: getCountForKey
focal_class.modifiers: @Override public
focal_class.parameters: (A key, QueryOptions queryOptions)
focal_class.return: Integer
focal_class.signature: Integer getCountForKey(A key, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getCountOfDistinctKeys(QueryOptions queryOptions)
focal_class.full_signature: @Override public Integer getCountOfDistinctKeys(QueryOptions queryOptions)
focal_class.identifier: getCountOfDistinctKeys
focal_class.modifiers: @Override public
focal_class.parameters: (QueryOptions queryOptions)
focal_class.return: Integer
focal_class.signature: Integer getCountOfDistinctKeys(QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getStatisticsForDistinctKeys(QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeys(QueryOptions queryOptions)
focal_class.identifier: getStatisticsForDistinctKeys
focal_class.modifiers: @Override public
focal_class.parameters: (QueryOptions queryOptions)
focal_class.return: CloseableIterable<KeyStatistics<A>>
focal_class.signature: CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeys(QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getStatisticsForDistinctKeysDescending(final QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeysDescending(final QueryOptions queryOptions)
focal_class.identifier: getStatisticsForDistinctKeysDescending
focal_class.modifiers: @Override public
focal_class.parameters: (final QueryOptions queryOptions)
focal_class.return: CloseableIterable<KeyStatistics<A>>
focal_class.signature: CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeysDescending(final QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getKeysAndValues(QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<KeyValue<A, O>> getKeysAndValues(QueryOptions queryOptions)
focal_class.identifier: getKeysAndValues
focal_class.modifiers: @Override public
focal_class.parameters: (QueryOptions queryOptions)
focal_class.return: CloseableIterable<KeyValue<A, O>>
focal_class.signature: CloseableIterable<KeyValue<A, O>> getKeysAndValues(QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getKeysAndValues(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<KeyValue<A, O>> getKeysAndValues(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.identifier: getKeysAndValues
focal_class.modifiers: @Override public
focal_class.parameters: (A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.return: CloseableIterable<KeyValue<A, O>>
focal_class.signature: CloseableIterable<KeyValue<A, O>> getKeysAndValues(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getKeysAndValuesDescending(QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<KeyValue<A, O>> getKeysAndValuesDescending(QueryOptions queryOptions)
focal_class.identifier: getKeysAndValuesDescending
focal_class.modifiers: @Override public
focal_class.parameters: (QueryOptions queryOptions)
focal_class.return: CloseableIterable<KeyValue<A, O>>
focal_class.signature: CloseableIterable<KeyValue<A, O>> getKeysAndValuesDescending(QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getKeysAndValuesDescending(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.full_signature: @Override public CloseableIterable<KeyValue<A, O>> getKeysAndValuesDescending(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.identifier: getKeysAndValuesDescending
focal_class.modifiers: @Override public
focal_class.parameters: (A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.return: CloseableIterable<KeyValue<A, O>>
focal_class.signature: CloseableIterable<KeyValue<A, O>> getKeysAndValuesDescending(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.getKeysAndValuesInRange(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.full_signature:  NavigableMap<A, StoredResultSet<O>> getKeysAndValuesInRange(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.identifier: getKeysAndValuesInRange
focal_class.parameters: (A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.return: NavigableMap<A, StoredResultSet<O>>
focal_class.signature: NavigableMap<A, StoredResultSet<O>> getKeysAndValuesInRange(A lowerBound, boolean lowerInclusive, A upperBound, boolean upperInclusive)
focal_class.class_method_signature: NavigableIndex.addFilteringForQuantization(final Iterable<ResultSet<O>> resultSets, final IndexRangeLookupFunction<O> lookupFunction, QueryOptions queryOptions)
focal_class.full_signature: protected Iterable<ResultSet<O>> addFilteringForQuantization(final Iterable<ResultSet<O>> resultSets, final IndexRangeLookupFunction<O> lookupFunction, QueryOptions queryOptions)
focal_class.identifier: addFilteringForQuantization
focal_class.modifiers: protected
focal_class.parameters: (final Iterable<ResultSet<O>> resultSets, final IndexRangeLookupFunction<O> lookupFunction, QueryOptions queryOptions)
focal_class.return: Iterable<ResultSet<O>>
focal_class.signature: Iterable<ResultSet<O>> addFilteringForQuantization(final Iterable<ResultSet<O>> resultSets, final IndexRangeLookupFunction<O> lookupFunction, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.filterForQuantization(ResultSet<O> storedResultSet, Query<O> query, QueryOptions queryOptions)
focal_class.full_signature: protected ResultSet<O> filterForQuantization(ResultSet<O> storedResultSet, Query<O> query, QueryOptions queryOptions)
focal_class.identifier: filterForQuantization
focal_class.modifiers: protected
focal_class.parameters: (ResultSet<O> storedResultSet, Query<O> query, QueryOptions queryOptions)
focal_class.return: ResultSet<O>
focal_class.signature: ResultSet<O> filterForQuantization(ResultSet<O> storedResultSet, Query<O> query, QueryOptions queryOptions)
focal_class.class_method_signature: NavigableIndex.onAttribute(Attribute<O, A> attribute)
focal_class.full_signature: public static NavigableIndex<A, O> onAttribute(Attribute<O, A> attribute)
focal_class.identifier: onAttribute
focal_class.modifiers: public static
focal_class.parameters: (Attribute<O, A> attribute)
focal_class.return: NavigableIndex<A, O>
focal_class.signature: NavigableIndex<A, O> onAttribute(Attribute<O, A> attribute)
focal_class.class_method_signature: NavigableIndex.onAttribute(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.full_signature: public static NavigableIndex<A, O> onAttribute(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.identifier: onAttribute
focal_class.modifiers: public static
focal_class.parameters: (Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.return: NavigableIndex<A, O>
focal_class.signature: NavigableIndex<A, O> onAttribute(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, Attribute<O, A> attribute)
focal_class.class_method_signature: NavigableIndex.withQuantizerOnAttribute(final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.full_signature: public static NavigableIndex<A, O> withQuantizerOnAttribute(final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.identifier: withQuantizerOnAttribute
focal_class.modifiers: public static
focal_class.parameters: (final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.return: NavigableIndex<A, O>
focal_class.signature: NavigableIndex<A, O> withQuantizerOnAttribute(final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.class_method_signature: NavigableIndex.withQuantizerOnAttribute(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.full_signature: public static NavigableIndex<A, O> withQuantizerOnAttribute(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.identifier: withQuantizerOnAttribute
focal_class.modifiers: public static
focal_class.parameters: (Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.return: NavigableIndex<A, O>
focal_class.signature: NavigableIndex<A, O> withQuantizerOnAttribute(Factory<ConcurrentNavigableMap<A, StoredResultSet<O>>> indexMapFactory, Factory<StoredResultSet<O>> valueSetFactory, final Quantizer<A> quantizer, Attribute<O, A> attribute)
focal_class.superclass: extends AbstractMapBasedAttributeIndex<A, O, ConcurrentNavigableMap<A, StoredResultSet<O>>>
focal_method.body: @Override
      public CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeys(QueryOptions queryOptions) {
          return super.getStatisticsForDistinctKeys(queryOptions);
      }
focal_method.class_method_signature: NavigableIndex.getStatisticsForDistinctKeys(QueryOptions queryOptions)
focal_method.full_signature: @Override public CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeys(QueryOptions queryOptions)
focal_method.identifier: getStatisticsForDistinctKeys
focal_method.invocations: getStatisticsForDistinctKeys
focal_method.modifiers: @Override public
focal_method.parameters: (QueryOptions queryOptions)
focal_method.return: CloseableIterable<KeyStatistics<A>>
focal_method.signature: CloseableIterable<KeyStatistics<A>> getStatisticsForDistinctKeys(QueryOptions queryOptions)