Android Open Source - thesearchbattle Memory Search






From Project

Back to project page thesearchbattle.

License

The source code is released under:

Apache License

If you think the Android project thesearchbattle listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.raycoarana.thesearchbattle.search;
/*from  w w w .  j  a v  a  2  s.  c o m*/
import android.database.Cursor;

import com.raycoarana.thesearchbattle.database.Database;
import com.raycoarana.thesearchbattle.io.ResultsRegister;
import com.raycoarana.thesearchbattle.model.Car;

import java.util.ArrayList;
import java.util.List;

public class MemorySearch extends BaseSearchEngine {

    private final Database mDatabase;
    private List<Car> mCars;

    public MemorySearch(Database database) {
        mDatabase = database;
    }

    @Override
    protected List<Car> onSearch(String term) {
        ArrayList<Car> results = new ArrayList<Car>();
        for(Car car : mCars) {
            if(this.contained(term.toLowerCase(),
                           car.getCountry(),
                           car.getBrand(),
                           car.getName(),
                           String.valueOf(car.getYear()))) {
                results.add(car);
            }
        }

        return results;
    }

    private boolean contained(String term, String... texts) {
        for(String text : texts) {
            if(text != null && text.contains(term)) {
                return true;
            }
        }

        return false;
    }

    @Override
    public void prepareSet(String currentSource, ResultsRegister resultsRegister) {
        setResultsRegister(resultsRegister);
        resultsRegister.start(currentSource, MemorySearch.class.getSimpleName());
        Cursor cursor = mDatabase.executeQuery("SELECT * FROM " + currentSource);
        mCars = Car.fromCursor(cursor);
    }
}




Java Source Code List

com.raycoarana.thesearchbattle.ApplicationTest.java
com.raycoarana.thesearchbattle.BattleArenaActivity.java
com.raycoarana.thesearchbattle.database.Database.java
com.raycoarana.thesearchbattle.io.ResultsRegister.java
com.raycoarana.thesearchbattle.io.StreamExtensions.java
com.raycoarana.thesearchbattle.model.Car.java
com.raycoarana.thesearchbattle.model.DataSetDefinition.java
com.raycoarana.thesearchbattle.model.Timer.java
com.raycoarana.thesearchbattle.search.BaseSearchEngine.java
com.raycoarana.thesearchbattle.search.FTSSearch.java
com.raycoarana.thesearchbattle.search.MemorySearch.java
com.raycoarana.thesearchbattle.search.SearchEngine.java