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.mg4j.util.MutableString;
25: import it.unimi.dsi.util.StringMap;
26:
27: /** A map from terms to numbers (and possibly viceversa).
28: *
29: * <p>The possibility of retrieving terms can be checked for by calling {@link #hasTerms()}.
30: *
31: * @author Sebastiano Vigna
32: * @since 0.9.2
33: * @deprecated As of MG4J 2.1, replaced by {@link StringMap}.
34: */
35:
36: @Deprecated
37: public interface TermMap {
38:
39: /** Returns the ordinal number corresponding to the given term, or possibly (but not necessarily) -1 if the term was not indexed.
40: *
41: * <p>We intentionally prefer “ordinal number” to “index” because of the obvious
42: * confusion that the latter term can cause.
43: *
44: * @param term a term.
45: * @return its ordinal number, or possibly (but not necessarily) -1 if the term was not indexed.
46: */
47: public int getNumber(CharSequence term);
48:
49: /** Returns true if this prefix map supports {@linkplain #getTerm(int) term retrieval}.
50: *
51: * @return true if this prefix map supports {@linkplain #getTerm(int) term retrieval}.
52: */
53:
54: public boolean hasTerms();
55:
56: /** Returns the term corresponding to the given ordinal number (optional operation).
57: *
58: * @param number a term ordinal number.
59: * @return the corresponding term, or possibly (but not necessarily) <code>null</code> if the term was not indexed.
60: */
61:
62: public CharSequence getTerm(int number);
63:
64: /** Writes in the given mutable string the term corresponding to the given ordinal number (optional operation).
65: *
66: * @param number a term ordinal number.
67: * @param term a mutable string that will be filled with the corresponding term.
68: * @return <code>term</code>, or possibly (but not necessarily) <code>null</code> if the term was not indexed.
69: */
70:
71: public MutableString getTerm(int number, MutableString term);
72:
73: /** Returns the number of terms in this term map.
74: * @return the number of terms in this term map.
75: */
76: public int size();
77:
78: }
|