01: package it.unimi.dsi.mg4j.index;
02:
03: /*
04: * MG4J: Managing Gigabytes for Java
05: *
06: * Copyright (C) 2005-2007 Sebastiano Vigna
07: *
08: * This library is free software; you can redistribute it and/or modify it
09: * under the terms of the GNU Lesser General Public License as published by the Free
10: * Software Foundation; either version 2.1 of the License, or (at your option)
11: * any later version.
12: *
13: * This library is distributed in the hope that it will be useful, but
14: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
16: * for more details.
17: *
18: * You should have received a copy of the GNU Lesser General Public License
19: * along with this program; if not, write to the Free Software
20: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21: *
22: */
23:
24: import it.unimi.dsi.lang.MutableString;
25:
26: /** A term processor downcasing all characters. */
27:
28: public class DowncaseTermProcessor implements TermProcessor {
29: private static final long serialVersionUID = 1L;
30:
31: private final static DowncaseTermProcessor INSTANCE = new DowncaseTermProcessor();
32:
33: public final static TermProcessor getInstance() {
34: return INSTANCE;
35: }
36:
37: private DowncaseTermProcessor() {
38: }
39:
40: public boolean processTerm(final MutableString term) {
41: if (term == null)
42: return false;
43: term.toLowerCase();
44: return true;
45: }
46:
47: public boolean processPrefix(final MutableString prefix) {
48: return processTerm(prefix);
49: }
50:
51: private Object readResolve() {
52: return INSTANCE;
53: }
54:
55: public String toString() {
56: return this .getClass().getName();
57: }
58:
59: public DowncaseTermProcessor copy() {
60: return this;
61: }
62: }
|