|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectit.unimi.dsi.mg4j.document.AbstractDocumentSequence
it.unimi.dsi.mg4j.document.AbstractDocumentCollection
it.unimi.dsi.mg4j.document.ZipDocumentCollection
public class ZipDocumentCollection
A DocumentCollection
produced from a document
sequence using ZipDocumentCollectionBuilder
.
The collection will produce the same documents as the original sequence whence it was produced, in the following sense:
String.valueOf(int)
),
followed by a pair of strings for each fragment (the first string being the document specifier,
and the second being the associated text);
Warning: the Reader
returned by Document.content(int)
for documents produced by this factory is just obtained as the concatenation of words and non-words returned by
the word reader for that field.
The collection will be, as any other collection, serialized on a file, but it will refer to another zip file that is going to contain the documents themselves.
Nested Class Summary | |
---|---|
protected static class |
ZipDocumentCollection.ZipFactory
A factory tightly coupled to a ZipDocumentCollection . |
Field Summary |
---|
Fields inherited from interface it.unimi.dsi.mg4j.document.DocumentCollection |
---|
DEFAULT_EXTENSION |
Constructor Summary | |
---|---|
ZipDocumentCollection(String zipFilename,
DocumentFactory underlyingFactory,
int numberOfDocuments,
boolean exact)
Constructs a document collection (for reading) corresponding to a given zip collection file. |
Method Summary | |
---|---|
void |
close()
Closes this document sequence, releasing all resources. |
ZipDocumentCollection |
copy()
|
Document |
document(int index)
Returns the document given its index. |
DocumentFactory |
factory()
Returns the factory used by this sequence. |
DocumentIterator |
iterator()
Returns an iterator over the sequence of documents. |
Reference2ObjectMap<Enum<?>,Object> |
metadata(int index)
Returns the metadata map for a document. |
int |
size()
Returns the number of documents in this collection. |
InputStream |
stream(int index)
Returns an input stream for the raw content of a document. |
Methods inherited from class it.unimi.dsi.mg4j.document.AbstractDocumentCollection |
---|
ensureDocumentIndex, main, printAllDocuments, toString |
Methods inherited from class it.unimi.dsi.mg4j.document.AbstractDocumentSequence |
---|
finalize |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ZipDocumentCollection(String zipFilename, DocumentFactory underlyingFactory, int numberOfDocuments, boolean exact) throws IOException
zipFilename
- the filename of the zip collection.underlyingFactory
- the underlying document factory.numberOfDocuments
- the number of documents.exact
- true
iff this is an exact reproduction of the original sequence.
IOException
Method Detail |
---|
public ZipDocumentCollection copy()
copy
in interface FlyweightPrototype<DocumentCollection>
copy
in interface DocumentCollection
public DocumentFactory factory()
DocumentSequence
Every document sequence is based on a document factory that transforms raw bytes into a sequence of characters. The factory contains useful information such as the number of fields.
factory
in interface DocumentSequence
public int size()
DocumentCollection
size
in interface DocumentCollection
public Document document(int index) throws IOException
DocumentCollection
document
in interface DocumentCollection
index
- an index between 0 (inclusive) and DocumentCollection.size()
(exclusive).
index
-th document.
IOException
public Reference2ObjectMap<Enum<?>,Object> metadata(int index)
DocumentCollection
metadata
in interface DocumentCollection
index
- an index between 0 (inclusive) and DocumentCollection.size()
(exclusive).
public InputStream stream(int index) throws IOException
DocumentCollection
stream
in interface DocumentCollection
index
- an index between 0 (inclusive) and DocumentCollection.size()
(exclusive).
IOException
public DocumentIterator iterator()
DocumentSequence
Warning: this method can be safely called just one time. For instance, implementations based on standard input will usually throw an exception if this method is called twice.
Implementations may decide to override this restriction
(in particular, if they implement DocumentCollection
). Usually,
however, it is not possible to obtain two iterators at the
same time on a collection.
iterator
in interface DocumentSequence
iterator
in class AbstractDocumentCollection
DocumentCollection
public void close() throws IOException
DocumentSequence
You should always call this method after having finished with this document sequence.
Implementations are invited to call this method in a finaliser as a safety net (even better,
implement SafelyCloseable
), but since there
is no guarantee as to when finalisers are invoked, you should not depend on this behaviour.
close
in interface DocumentSequence
close
in interface Closeable
close
in class AbstractDocumentSequence
IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |