public class SubDocumentFactory extends AbstractDocumentFactory
DocumentFactory.FieldType| Constructor and Description |
|---|
SubDocumentFactory(DocumentFactory underlyingFactory,
int... visibleField)
Creates a new subfactory.
|
| Modifier and Type | Method and Description |
|---|---|
DocumentFactory |
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.
|
int |
numberOfFields()
Returns the number of fields present in the documents produced by this factory.
|
ensureFieldIndex, toStringpublic SubDocumentFactory(DocumentFactory underlyingFactory, int... visibleField)
underlyingFactory - the underlying document collection.visibleField - the fields of the factory that will be visible in the
new subfactory, in increasing order.public DocumentFactory copy()
public int fieldIndex(String fieldName)
DocumentFactoryfieldName - the name of a field of this factory.fieldName.public String fieldName(int field)
DocumentFactoryfield - the index of a field (between 0 inclusive and DocumentFactory.numberOfFields() exclusive}).field-th field.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.IOExceptionpublic int numberOfFields()
DocumentFactory