TaxonomyFactoryFromRemoteZip

final class TaxonomyFactoryFromRemoteZip(val createZipInputStream: () => ZipInputStream, val transformDocument: SaxonDocument => BackingDocumentApi, val extraSubstitutionGroupMap: SubstitutionGroupMap, val relationshipFactory: RelationshipFactory, val arcFilter: XLinkArc => Boolean) extends BasicTaxonomyFactory

BasicTaxonomy factory from a remote (or local) taxonomy package ZIP file. The ZIP does not have to be a taxonomy package with META-INF/taxonomyPackage.xml file, but it does need to have a META-INF/catalog.xml file.

BasicTaxonomy factory from a remote (or local) taxonomy package ZIP file. The ZIP does not have to be a taxonomy package with META-INF/taxonomyPackage.xml file, but it does need to have a META-INF/catalog.xml file.

This class uses type TaxonomyBaseFactoryFromRemoteZip. As a consequence, this class is not usable if the catalog is not invertible, or if the ZIP stream contains far more documents than required for the DTSes we are interested in! It is also not usable if the reverse catalog is inconsistent with the document URIs found during DTS discovery.

Authors

Chris de Vreeze

Companion
object
class Object
trait Matchable
class Any

Value members

Concrete methods

def build(entryPointUris: Set[URI]): BasicTaxonomy

Builds a BasicTaxonomy from the data available to this taxonomy factory, as well as the passed entrypoint URIs. It first calls method readAllXmlDocuments, and then the other overloaded method "build".

Builds a BasicTaxonomy from the data available to this taxonomy factory, as well as the passed entrypoint URIs. It first calls method readAllXmlDocuments, and then the other overloaded method "build".

def build(entryPointUris: Set[URI], xmlByteArrays: ListMap[String, ArraySeq[Byte]]): BasicTaxonomy

Builds a BasicTaxonomy from the data available to this taxonomy factory, as well as the passed entrypoint URIs. This method no longer needs the ZIP input stream, and has all data (unparsed) in memory.

Builds a BasicTaxonomy from the data available to this taxonomy factory, as well as the passed entrypoint URIs. This method no longer needs the ZIP input stream, and has all data (unparsed) in memory.

The ZIP entry names are assumed to use Unix-style (file component) separators.

def readAllXmlDocuments(): ListMap[String, ArraySeq[Byte]]

Calls the method with the same name on taxonomyBaseFactory. After the call, we can log the number of documents, if we would like to do so.

Calls the method with the same name on taxonomyBaseFactory. After the call, we can log the number of documents, if we would like to do so.

def withArcFilter(newArcFilter: XLinkArc => Boolean): TaxonomyFactoryFromRemoteZip
def withTransformDocument(newTransformDocument: SaxonDocument => BackingDocumentApi): TaxonomyFactoryFromRemoteZip