| AbstractBookAnalyzer.java |
1 /**
2 * Distribution License:
3 * JSword is free software; you can redistribute it and/or modify it under
4 * the terms of the GNU Lesser General Public License, version 2.1 as published by
5 * the Free Software Foundation. This program is distributed in the hope
6 * that it will be useful, but WITHOUT ANY WARRANTY; without even the
7 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8 * See the GNU Lesser General Public License for more details.
9 *
10 * The License is available on the internet at:
11 * http://www.gnu.org/copyleft/lgpl.html
12 * or by writing to:
13 * Free Software Foundation, Inc.
14 * 59 Temple Place - Suite 330
15 * Boston, MA 02111-1307, USA
16 *
17 * Copyright: 2007
18 * The copyright to this program is held by it's authors.
19 *
20 * ID: $Id: $
21 */
22 package org.crosswire.jsword.index.lucene.analysis;
23
24 import java.util.Set;
25
26 import org.apache.lucene.analysis.Analyzer;
27 import org.crosswire.jsword.book.Book;
28
29 /**
30 * Base class for Analyzers. Note: All analyzers configured in
31 * AnalyzerFactory.properties should be of this type
32 *
33 * @see gnu.lgpl.License for license details.<br>
34 * The copyright to this program is held by it's authors.
35 * @author sijo cherian [sijocherian at yahoo dot com]
36 * @author DM Smith [dmsmith555 at yahoo dot com]
37 */
38 public abstract class AbstractBookAnalyzer extends Analyzer {
39
40 public AbstractBookAnalyzer() {
41 this(null);
42 }
43
44 public AbstractBookAnalyzer(Book book) {
45 this.book = book;
46 doStopWords = false;
47 doStemming = true;
48 }
49
50 /**
51 * The book for which analysis is being performed.
52 *
53 * @param newBook
54 */
55 public void setBook(Book newBook) {
56 book = newBook;
57 }
58
59 /**
60 * @return the book for which analysis is being performed.
61 */
62 public Book getBook() {
63 return book;
64 }
65
66 public void setDoStopWords(boolean doIt) {
67 doStopWords = doIt;
68 }
69
70 public boolean getDoStopWords() {
71 return doStopWords;
72 }
73
74 public void setStopWords(Set<?> stopWords) {
75 stopSet = stopWords;
76 }
77
78
79 public void setDoStemming(boolean stemming) {
80 doStemming = stemming;
81 }
82
83 /**
84 * The book against which analysis is performed.
85 */
86 protected Book book;
87
88 protected Set<?> stopSet;
89
90 // for turning on/off stop word removal during analysis
91 protected boolean doStopWords;
92
93 // for turning on/off stemming
94 protected boolean doStemming;
95 }
96