test_class.declarator: OBJECT_TO_ID = Car.CAR_ID
test_class.modifier: public static final
test_class.original_string: public static final SimpleAttribute<Car, Integer> OBJECT_TO_ID = Car.CAR_ID;
test_class.type: SimpleAttribute<Car, Integer>
test_class.var_name: OBJECT_TO_ID
test_class.declarator: ID_TO_OBJECT = new SimpleAttribute<Integer, Car>("carFromId") {
          public Car getValue(Integer carId, QueryOptions queryOptions) { return CarFactory.createCar(carId); }
      }
test_class.modifier: public static final
test_class.original_string: public static final SimpleAttribute<Integer, Car> ID_TO_OBJECT = new SimpleAttribute<Integer, Car>("carFromId") {
          public Car getValue(Integer carId, QueryOptions queryOptions) { return CarFactory.createCar(carId); }
      };
test_class.type: SimpleAttribute<Integer, Car>
test_class.var_name: ID_TO_OBJECT
test_class.declarator: temporaryInMemoryDatabase = new TemporaryDatabase.TemporaryInMemoryDatabase()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public TemporaryDatabase.TemporaryInMemoryDatabase temporaryInMemoryDatabase = new TemporaryDatabase.TemporaryInMemoryDatabase();
test_class.type: TemporaryDatabase.TemporaryInMemoryDatabase
test_class.var_name: temporaryInMemoryDatabase
test_class.file: code/src/test/java/com/googlecode/cqengine/index/sqlite/PartialSQLiteIndexTest.java
test_class.identifier: PartialSQLiteIndexTest
test_case.body: @Test
      public void testPartialSQLiteIndex() {
          IndexedCollection<Car> indexedCollection = new ConcurrentIndexedCollection<Car>();
          ConnectionManager connectionManager = temporaryInMemoryDatabase.getConnectionManager(true);
          QueryOptions queryOptions = new QueryOptions();
          queryOptions.put(ConnectionManager.class, connectionManager);
          PartialSQLiteIndex<String, Car, Integer> index = PartialSQLiteIndex.onAttributeWithFilterQuery(Car.MANUFACTURER, OBJECT_TO_ID, ID_TO_OBJECT, between(Car.CAR_ID, 2, 4));
          indexedCollection.addIndex(index, queryOptions);
          indexedCollection.update(Collections.<Car>emptySet(), CarFactory.createCollectionOfCars(10), queryOptions);
  
          assertEquals(75,         indexedCollection.retrieve(and(equal(Car.MANUFACTURER, "Ford"), between(Car.CAR_ID, 2, 4)), queryOptions).getRetrievalCost());
          assertEquals(2147483647, indexedCollection.retrieve(and(equal(Car.MANUFACTURER, "Ford"), between(Car.CAR_ID, 2, 5)), queryOptions).getRetrievalCost());
      }
test_case.class_method_signature: PartialSQLiteIndexTest.testPartialSQLiteIndex()
test_case.full_signature: @Test public void testPartialSQLiteIndex()
test_case.identifier: testPartialSQLiteIndex
test_case.invocations: getConnectionManager put onAttributeWithFilterQuery between addIndex update emptySet createCollectionOfCars assertEquals getRetrievalCost retrieve and equal between assertEquals getRetrievalCost retrieve and equal between
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testPartialSQLiteIndex()
focal_class.declarator: primaryKeyAttribute
focal_class.modifier: final
focal_class.original_string: final SimpleAttribute<O, K> primaryKeyAttribute;
focal_class.type: SimpleAttribute<O, K>
focal_class.var_name: primaryKeyAttribute
focal_class.declarator: foreignKeyAttribute
focal_class.modifier: final
focal_class.original_string: final SimpleAttribute<K, O> foreignKeyAttribute;
focal_class.type: SimpleAttribute<K, O>
focal_class.var_name: foreignKeyAttribute
focal_class.declarator: tableNameSuffix
focal_class.modifier: final
focal_class.original_string: final String tableNameSuffix;
focal_class.type: String
focal_class.var_name: tableNameSuffix
focal_class.file: code/src/main/java/com/googlecode/cqengine/index/sqlite/PartialSQLiteIndex.java
focal_class.identifier: PartialSQLiteIndex
focal_class.interfaces: implements NonHeapTypeIndex
focal_class.class_method_signature: PartialSQLiteIndex.PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_class.full_signature: protected  PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_class.identifier: PartialSQLiteIndex
focal_class.modifiers: protected
focal_class.parameters: (Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_class.signature:  PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_class.class_method_signature: PartialSQLiteIndex.createBackingIndex()
focal_class.full_signature: @Override @SuppressWarnings("unchecked") // unchecked, because type K will be provided later via the init() method protected SortedKeyStatisticsAttributeIndex<A, O> createBackingIndex()
focal_class.identifier: createBackingIndex
focal_class.modifiers: @Override @SuppressWarnings("unchecked") // unchecked, because type K will be provided later via the init() method protected
focal_class.parameters: ()
focal_class.return: SortedKeyStatisticsAttributeIndex<A, O>
focal_class.signature: SortedKeyStatisticsAttributeIndex<A, O> createBackingIndex()
focal_class.class_method_signature: PartialSQLiteIndex.onAttributeWithFilterQuery(Attribute<O, A> attribute,
                                                                                     SimpleAttribute<O, K> primaryKeyAttribute,
                                                                                     SimpleAttribute<K, O> foreignKeyAttribute,
                                                                                     Query<O> filterQuery)
focal_class.full_signature: public static PartialSQLiteIndex<A, O, K> onAttributeWithFilterQuery(Attribute<O, A> attribute,
                                                                                     SimpleAttribute<O, K> primaryKeyAttribute,
                                                                                     SimpleAttribute<K, O> foreignKeyAttribute,
                                                                                     Query<O> filterQuery)
focal_class.identifier: onAttributeWithFilterQuery
focal_class.modifiers: public static
focal_class.parameters: (Attribute<O, A> attribute,
                                                                                     SimpleAttribute<O, K> primaryKeyAttribute,
                                                                                     SimpleAttribute<K, O> foreignKeyAttribute,
                                                                                     Query<O> filterQuery)
focal_class.return: PartialSQLiteIndex<A, O, K>
focal_class.signature: PartialSQLiteIndex<A, O, K> onAttributeWithFilterQuery(Attribute<O, A> attribute,
                                                                                     SimpleAttribute<O, K> primaryKeyAttribute,
                                                                                     SimpleAttribute<K, O> foreignKeyAttribute,
                                                                                     Query<O> filterQuery)
focal_class.superclass: extends PartialSortedKeyStatisticsAttributeIndex<A, O>
focal_method.body: protected PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery) {
          super(attribute, filterQuery);
          this.primaryKeyAttribute = primaryKeyAttribute;
          this.foreignKeyAttribute = foreignKeyAttribute;
          this.tableNameSuffix = "_partial_" + sanitizeForTableName(filterQuery.toString());
      }
focal_method.class_method_signature: PartialSQLiteIndex.PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_method.full_signature: protected  PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_method.identifier: PartialSQLiteIndex
focal_method.modifiers: protected
focal_method.parameters: (Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)
focal_method.signature:  PartialSQLiteIndex(Attribute<O, A> attribute,
                                   SimpleAttribute<O, K> primaryKeyAttribute,
                                   SimpleAttribute<K, O> foreignKeyAttribute,
                                   Query<O> filterQuery)