public class ReplicatedDocumentFactory extends AbstractDocumentFactory
Note that in general replicated factories support only sequential access to field content (albeit skipping items is allowed).
| Modifier and Type | Class and Description |
|---|---|
protected class |
ReplicatedDocumentFactory.ReplicatedDocument
A document obtained by replication of the underlying-factory document.
|
DocumentFactory.FieldType| Modifier and Type | Field and Description |
|---|---|
DocumentFactory |
documentFactory
The document factory that will be replicated.
|
int |
numberOfCopies
The number of copies.
|
| Modifier | Constructor and Description |
|---|---|
protected |
ReplicatedDocumentFactory(DocumentFactory documentFactory,
int numberOfCopies,
String[] fieldName,
Object2IntOpenHashMap<String> field2Index) |
| Modifier and Type | Method and Description |
|---|---|
ReplicatedDocumentFactory |
copy() |
int |
fieldIndex(String fieldName)
Returns the index of a field, given its symbolic name.
|
String |
fieldName(int field)
Returns the symbolic name of a field.
|
DocumentFactory.FieldType |
fieldType(int field)
Returns the type of a field.
|
Document |
getDocument(InputStream rawContent,
Reference2ObjectMap<Enum<?>,Object> metadata)
Returns the document obtained by parsing the given byte stream.
|
static DocumentFactory |
getFactory(DocumentFactory documentFactory,
int numberOfCopies,
String[] fieldName)
Returns a document factory replicating the given factory.
|
int |
numberOfFields()
Returns the number of fields present in the documents produced by this factory.
|
ensureFieldIndex, toStringpublic final DocumentFactory documentFactory
public final int numberOfCopies
protected ReplicatedDocumentFactory(DocumentFactory documentFactory, int numberOfCopies, String[] fieldName, Object2IntOpenHashMap<String> field2Index)
public static DocumentFactory getFactory(DocumentFactory documentFactory, int numberOfCopies, String[] fieldName)
documentFactory - the factory that will be replicated.numberOfCopies - the number of copies.public ReplicatedDocumentFactory copy()
public int numberOfFields()
DocumentFactorypublic String fieldName(int field)
DocumentFactoryfield - the index of a field (between 0 inclusive and DocumentFactory.numberOfFields() exclusive}).field-th field.public int fieldIndex(String fieldName)
DocumentFactoryfieldName - the name of a field of this factory.fieldName.public DocumentFactory.FieldType fieldType(int field)
DocumentFactoryThe possible types are defined in DocumentFactory.FieldType.
field - the index of a field (between 0 inclusive and DocumentFactory.numberOfFields() exclusive}).field-th field.public Document getDocument(InputStream rawContent, Reference2ObjectMap<Enum<?>,Object> metadata) throws IOException
DocumentFactoryThe parameter metadata actually replaces the lack of a simple keyword-based
parameter-passing system in Java. This method might take several different type of “suggestions”
which have been collected by the collection: typically, the document title, a URI representing
the document, its MIME type, its encoding and so on. Some of this information might be
set by default (as it happens, for instance, in a PropertyBasedDocumentFactory).
Implementations of this method must consult the metadata provided by the collection, possibly
complete them with default factory metadata, and proceed to the document construction.
rawContent - the raw content from which the document should be extracted; it must not be closed, as
resource management is a responsibility of the DocumentCollection.metadata - a map from enums (e.g., keys taken in PropertyBasedDocumentFactory) to various kind of objects.IOException