1 package org.apache.lucene.store.instantiated;
3 import org.apache.lucene.index.TermVectorOffsetInfo;
5 import java.io.Serializable;
6 import java.util.Comparator;
9 * Copyright 2006 The Apache Software Foundation
11 * Licensed under the Apache License, Version 2.0 (the "License");
12 * you may not use this file except in compliance with the License.
13 * You may obtain a copy of the License at
15 * http://www.apache.org/licenses/LICENSE-2.0
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
25 * There is one instance of this class per indexed term in a document
26 * and it contains the meta data about each occurrence of a term in a document.
28 * It is the inner glue of the inverted index.
31 * [Term]-- {0..*} | {0..*} --(field)[Document]
34 * [TermDocumentInformation]
41 public class InstantiatedTermDocumentInformation
42 implements Serializable {
44 private static final long serialVersionUID = 1l;
46 public static final Comparator<InstantiatedTermDocumentInformation> termComparator = new Comparator<InstantiatedTermDocumentInformation>() {
47 public int compare(InstantiatedTermDocumentInformation instantiatedTermDocumentInformation, InstantiatedTermDocumentInformation instantiatedTermDocumentInformation1) {
48 return instantiatedTermDocumentInformation.getTerm().getTerm().compareTo(instantiatedTermDocumentInformation1.getTerm().getTerm());
52 public static final Comparator<InstantiatedTermDocumentInformation> documentNumberComparator = new Comparator<InstantiatedTermDocumentInformation>() {
53 public int compare(InstantiatedTermDocumentInformation instantiatedTermDocumentInformation, InstantiatedTermDocumentInformation instantiatedTermDocumentInformation1) {
54 return instantiatedTermDocumentInformation.getDocument().getDocumentNumber().compareTo(instantiatedTermDocumentInformation1.getDocument().getDocumentNumber());
58 public static final Comparator doumentNumberIntegerComparator = new Comparator() {
59 public int compare(Object o1, Object o2) {
60 InstantiatedTermDocumentInformation di = (InstantiatedTermDocumentInformation) o1;
61 Integer i = (Integer) o2;
62 return di.getDocument().getDocumentNumber().compareTo(i);
67 private byte[][] payloads;
68 private int[] termPositions;
69 private InstantiatedTerm term;
70 private InstantiatedDocument document;
71 private TermVectorOffsetInfo[] termOffsets;
75 public InstantiatedTermDocumentInformation(InstantiatedTerm term, InstantiatedDocument document, int[] termPositions, byte[][] payloads) {
77 this.document = document;
78 this.termPositions = termPositions;
79 this.payloads = payloads;
83 // not quite sure why I wanted this.
85 // * [Term]--- {0..* ordered} ->[Info]
87 // private int indexFromTerm;
90 // public int getIndexFromTerm() {
91 // return indexFromTerm;
94 // void setIndexFromTerm(int indexFromTerm) {
95 // this.indexFromTerm = indexFromTerm;
99 public int[] getTermPositions() {
100 return termPositions;
104 public byte[][] getPayloads() {
108 public InstantiatedDocument getDocument() {
114 public InstantiatedTerm getTerm() {
119 void setTermPositions(int[] termPositions) {
120 this.termPositions = termPositions;
124 void setTerm(InstantiatedTerm term) {
128 void setDocument(InstantiatedDocument document) {
129 this.document = document;
132 public TermVectorOffsetInfo[] getTermOffsets() {
136 void setTermOffsets(TermVectorOffsetInfo[] termOffsets) {
137 this.termOffsets = termOffsets;