org.terrier.structures.postings
Class ArrayOfIdsIterablePosting

java.lang.Object
  extended by org.terrier.structures.postings.IterablePostingImpl
      extended by org.terrier.structures.postings.ArrayOfIdsIterablePosting
All Implemented Interfaces:
java.io.Closeable, IterablePosting, Posting
Direct Known Subclasses:
ArrayOfBasicIterablePosting

public class ArrayOfIdsIterablePosting
extends IterablePostingImpl

An instance of IterablePostings that works with a passed array of ids

Author:
Craig Macdonald

Field Summary
protected  int[] ids
          ids of each of the entries in this posting list
protected  int indice
          where we are in the current posting list
 
Fields inherited from interface org.terrier.structures.postings.IterablePosting
EOL
 
Constructor Summary
ArrayOfIdsIterablePosting(int[] _ids)
          Make a new IterablePosting using these ids
 
Method Summary
 WritablePosting asWritablePosting()
          Copies this posting to one free of an iterator.
 void close()
          
 boolean endOfPostings()
          Status method to see if this posting list iterator has been finished
 int getDocumentLength()
          Return the length of the document for this posting.
 int getFrequency()
          Return the frequency of the term in the current document
 int getId()
          Return the id of the current posting.
 int next()
          Move this iterator to the next posting.
 void setId(int id)
          It may be of benefit to update the frequency of the id in some applications.
 
Methods inherited from class org.terrier.structures.postings.IterablePostingImpl
next
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ids

protected int[] ids
ids of each of the entries in this posting list


indice

protected int indice
where we are in the current posting list

Constructor Detail

ArrayOfIdsIterablePosting

public ArrayOfIdsIterablePosting(int[] _ids)
Make a new IterablePosting using these ids

Method Detail

next

public int next()
         throws java.io.IOException
Move this iterator to the next posting.

Returns:
id of next posting, or EOL if end of posting list
Throws:
java.io.IOException

endOfPostings

public boolean endOfPostings()
Status method to see if this posting list iterator has been finished

Returns:
true if next() or next(int) would return EOL or have returned EOL.

asWritablePosting

public WritablePosting asWritablePosting()
Copies this posting to one free of an iterator. Kind of like a clone.

Returns:
an identical posting, but which can be maniulated free of this iterator

getId

public int getId()
Return the id of the current posting. For the inverted index, this is the docid; for the direct index it corresponds to the term id

Returns:
id of the posting

getDocumentLength

public int getDocumentLength()
Return the length of the document for this posting. Usually uses the DocumentIndex, may do otherwise if document length statistics are in posting list Returns 0.

Returns:
length of the document of the current posting in tokens.

getFrequency

public int getFrequency()
Return the frequency of the term in the current document

Returns:
frequency of posting, in tokens

setId

public void setId(int id)
It may be of benefit to update the frequency of the id in some applications. This should not be used lightly, as it may break the decompression of other postings in iterators.


close

public void close()
           throws java.io.IOException

Throws:
java.io.IOException


Terrier 3.5. Copyright © 2004-2011 University of Glasgow