source: indexers/trunk/mgpp/java/org/greenstone/mgpp/MGPPRetrieveWrapper.java@ 14487

Last change on this file since 14487 was 14487, checked in by xiao, 17 years ago

wrapper class split out from MGPPWrapper.java.

  • Property svn:keywords set to Author Date Id Revision
File size: 4.4 KB
Line 
1/*
2 * MGPPRetrieveWrapper.java
3 * Copyright (C) 2002 New Zealand Digital Library, http://www.nzdl.org
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19package org.greenstone.mgpp;
20
21import java.util.Vector;
22
23/** java wrapper class for access to mgpp in C++
24 *
25 * the native side implemented in MGPPWrapperImpl.cpp
26 * uses MGPPQueryResult to hold the result of a query. the
27 * result of a getDocument is a String
28 * uses the jni
29 *
30 *@see MGPPQueryResult
31 */
32public class MGPPRetrieveWrapper {
33
34 /** the query result
35 * will be filled in by runQuery
36 */
37 protected MGPPQueryResult mgpp_query_result_=null;
38 /** pointer to c++ MGPPWrapperData class - cached indexData and queryInfo
39 */
40 protected long mgpp_data_ptr_=0;
41
42 static {
43 System.loadLibrary("mgppretrievejni");
44 initIDs();
45 }
46
47 public MGPPRetrieveWrapper() {
48 mgpp_query_result_ = new MGPPQueryResult();
49 initCppSide();
50 }
51
52 /** initialises field and method IDs for java side to enable access on
53 C++ side */
54 //these two init methods and the load and unload methods are shared by search and retrieve
55 private static native void initIDs();
56
57 /** initialises the mgpp_data_ptr_ */
58 private native boolean initCppSide();
59
60 /** returns a document: number docnum at level level
61 * text_path path should provide
62 * the absolute location of the mgpp text files eg ..../index/text/demo
63 * returns the doc in utf-8
64 */
65 public native String getDocument(String text_path,
66 String level,
67 long docnum );
68
69 /** the public method - converts between utf-8 and unicode
70 */
71 // public String getDocument(String text_path,
72 // String level,
73 // long docnum ) {
74
75 //String utf8_doc = getUtF8Document(base_dir, text_path, level, docnum);
76
77 /** load up the data structure for index
78 * - maintains state between requests as can be slow
79 * index_path should provide
80 * the absolute location of the mgpp index files eg ..../index/tt/demo
81 */
82 public native boolean loadIndexData(String index_path);
83 /** unloads the data */
84 public native boolean unloadIndexData();
85
86 // query param methods
87//
88// /** if on=true, sets default stemming on - its off by default*/
89// public native void setStem(boolean on);
90//
91// /** if on=true, sets default accentfolding on - its off by default*/
92// public native void setAccentFold(boolean on);
93//
94// /** if on=true, sets default casefolding on - its off by default */
95// public native void setCase(boolean on);
96// /** default is 50 */
97// public native void setMaxDocs(int num);
98// /** if on=true, sorts by rank, otherwise returns in build order -
99// default is on */
100// public native void setSortByRank(boolean on);
101// /** if on=true, a query returns term freq info - default is on */
102// public native void setReturnTerms(boolean on);
103// /** sets the granularity of the query - default 'Document' */
104// public native void setQueryLevel(String level);
105// /** sets the granularity of the result - default 'Document' */
106// public native void setReturnLevel(String level);
107// /** sets the default boolean operator - AND(=1)/OR(=0) */
108// public native void setMatchMode(int mode);
109//
110// /** sets maxnumeric */
111// public native void setMaxNumeric(int maxnumeric);
112// /** returns a string with all the current query param settings */
113// public native String getQueryParams();
114//
115// /** actually carry out the query. Use the set methods to set any query
116// params
117// * writes the result to query_result
118// */
119// public native void runQuery(String query_string);
120//
121// /** get the result out of the wrapper */
122// public MGPPQueryResult getQueryResult() {
123// return mgpp_query_result_;
124// }
125//
126}
Note: See TracBrowser for help on using the repository browser.