package search;

import chemaxon.jchem.db.JChemSearch;
import chemaxon.sss.search.JChemSearchOptions;
import chemaxon.util.ConnectionHandler;

/**
 * Example code for creating and setting
 * a database search object.
 * 
 * @author Peter Kovacs
 * @author Tamas Csizmazia
 * @version 5.0.3, 04/26/2008
 * 
 */
public class InitializingSearch {

    /**
     * Creates a JChemSearch object 
     * and fills its parameters for searching.
     * 
     * @param connectionHandler connection handler, 
     * 		already connected to database
     * @param query query string, must be in MDL Molfile, SMILES
     * 		or other format recognizable by JChem
     * @param targetTable name of database table containing
     * 		searchable structures
     * @param jcso contains search options for searching
     * @return JChemSearch object ready for running search
     */
    public static JChemSearch createJChemSearch(
	    ConnectionHandler connectionHandler,
	    String query,
	    String targetTable,
	    JChemSearchOptions jcso) {
	
	JChemSearch jcs = new JChemSearch();

	jcs.setConnectionHandler(connectionHandler);
	jcs.setQueryStructure(query);
	jcs.setStructureTable(targetTable);
	jcs.setSearchOptions(jcso);
	
	return jcs;
    }

}