1 package util;
2 
3 import java.util.Arrays;
4 
5 import chemaxon.jchem.db.JChemSearch;
6 import chemaxon.sss.search.JChemSearchOptions;
7 import chemaxon.util.ConnectionHandler;
8 
9 /**
10 * Example codes for creating and setting a {@link JChemSearch} object that can be used for
11 * database search tasks.
12 * 
13 * @author JChem Base team, ChemAxon Ltd.
14 */
15public final class SearchUtil {
16
17    /**
18     * Creates a JChemSearch object and fills its main parameters.
19     * 
20     * @param connHandler open connection handler
21     * @param queryStr string representation of the query structure
22     * @param targetTable name of database table containing the target structures
23     * @param searchOptions search options
24     * @return JChemSearch object ready for running search
25     */
26    public static JChemSearch createJChemSearch(ConnectionHandler connHandler, String queryStr,
27            String targetTable, JChemSearchOptions searchOptions) {
28
29        JChemSearch jcs = new JChemSearch();
30
31        jcs.setConnectionHandler(connHandler);
32        jcs.setQueryStructure(queryStr);
33        jcs.setStructureTable(targetTable);
34        jcs.setSearchOptions(searchOptions);
35
36        return jcs;
37    }
38
39    /**
40     * Prints the given array of CD_IDs to the standard output.
41     */
42    public static void printSearchResults(int[] array) {
43        System.out.println("Hit count: " + array.length);
44        System.out.println("Hit IDs:   " + Arrays.toString(array));
45        System.out.println();
46    }
47
48}
49