Package org.gedcomx.util
Class RecordSetWriter
- java.lang.Object
-
- org.gedcomx.util.RecordSetWriter
-
public class RecordSetWriter extends Object
Class for streaming a RecordSet to an OutputStream in XML as records are being added. User: Randy Wilson Date: 12/4/13
-
-
Constructor Summary
Constructors Modifier Constructor Description RecordSetWriter(OutputStream outputStream)Constructor.protectedRecordSetWriter(OutputStream outputStream, boolean shouldFilter, Class... marshallerClasses)Constructor.RecordSetWriter(OutputStream outputStream, Class... marshallerClasses)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Finish writing the file, including metadata (if set), and the closing tag.voidsetMetadata(Gedcomx metadata)Set the 'metadata' document, which will be written after all of the records.voidwriteRecord(Gedcomx record)Write the given record to the underlying byte-level (and possibly GZipped) output stream.
-
-
-
Constructor Detail
-
RecordSetWriter
public RecordSetWriter(OutputStream outputStream)
Constructor. Prepares to write GedcomX document records to the given output stream (which may well be a GZIPOutputStream), so that only one such document needs to be fully instantiated in memory at once. This constructor includes only Gedcomx.class and RecordSet.class in the underlying JAXBContext marshaller.- Parameters:
outputStream- - OutputStream to write XML to.
-
RecordSetWriter
public RecordSetWriter(OutputStream outputStream, Class... marshallerClasses)
Constructor. Prepares to write GedcomX document records to the given output stream (which may well be a GZIPOutputStream), so that only one such document needs to be fully instantiated in memory at once. Only the supplied list of Classes will be included in the JAXBContext marshaller.- Parameters:
outputStream- - OutputStream to write XML to.marshallerClasses- - A list of Classes to include in the underlying JAXBContext marshaller.
-
RecordSetWriter
protected RecordSetWriter(OutputStream outputStream, boolean shouldFilter, Class... marshallerClasses)
Constructor. Prepares to write GedcomX document records to the given output stream (which may well be a GZIPOutputStream), so that only one such document needs to be fully instantiated in memory at once. Only the supplied list of Classes will be included in the JAXBContext marshaller.- Parameters:
outputStream- - OutputStream to write XML to.shouldFilter- - Flag for whether to use a CleanXMLStreamWriter to convert invalid XML characters (such as a vertical tab) into the Unicode REPLACEMENT_CHARACTER (0xFFFD), so that the XML will unmarshal without throwing an exception.marshallerClasses- - A list of Classes to include in the underlying JAXBContext marshaller.
-
-
Method Detail
-
writeRecord
public void writeRecord(Gedcomx record) throws jakarta.xml.bind.JAXBException
Write the given record to the underlying byte-level (and possibly GZipped) output stream.- Parameters:
record- - GedcomX document to add as a 'record' to the RecordSet OutputStream.- Throws:
jakarta.xml.bind.JAXBException- If there's a problem with the XML.
-
setMetadata
public void setMetadata(Gedcomx metadata) throws jakarta.xml.bind.JAXBException
Set the 'metadata' document, which will be written after all of the records. Often used for the collection-level information such as collection source descriptions, record descriptors, etc. May describe a collection that goes beyond the records contained within this same GedcomX RecordSet.- Parameters:
metadata- - GedcomX document with group-level information.- Throws:
jakarta.xml.bind.JAXBException- If there's a problem with the XML.
-
close
public void close() throws IOExceptionFinish writing the file, including metadata (if set), and the closing tag. Closes the writers and output stream.- Throws:
IOException- If there's an I/O problem.
-
-