Package net.sf.okapi.lib.merge.merge
Class SkeletonMergerWriter
- java.lang.Object
-
- net.sf.okapi.lib.merge.merge.SkeletonMergerWriter
-
- All Implemented Interfaces:
AutoCloseable,IFilterWriter
public class SkeletonMergerWriter extends Object implements IFilterWriter
Basic class for skeleton-based merging. Override for specific behaviors.Takes a skeleton file and
Events from a translated document. Translated segments are merged into the skeletonTextUnitevents and written out using the defaultIFilterWriter- Author:
- jimh
-
-
Constructor Summary
Constructors Constructor Description SkeletonMergerWriter()SkeletonMergerWriter(IFilter skeletonFilter, IFilterWriter writer, ITextUnitMerger textUnitMerger)Use specificIFilterandIFilterWriterimplementationsSkeletonMergerWriter(IFilter skeletonFilter, ITextUnitMerger textUnitMerger)Use specificIFilterandIFilterWriterimplementationsSkeletonMergerWriter(ITextUnitMerger textUnitMerger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel()voidclose()EncoderManagergetEncoderManager()StringgetName()ParametersgetParameters()ISkeletonWritergetSkeletonWriter()EventhandleEvent(Event event)protected voidprocessEndDocument()There are no moreTextUnits.protected voidprocessStartDocument()Use the skeletonStartDocumentevent to initialize theIFilterWriter.protected voidprocessTextUnit(Event event)Take the translatedTextUnitand match it up with its corresponding skeleton version.protected EventprocessUntilTextUnit()Get events in the original document until the next text unit.voidsetFilter(IFilter skeletonFilter)Set theIFilterneeded to process the skeleton file (normally the original document)voidsetOptions(LocaleId targetLocale, String defaultEncoding)voidsetOutput(OutputStream output)voidsetOutput(String path)voidsetParameters(IParameters params)voidsetWriter(IFilterWriter writer)Set theIFilterWriterused to write out the skeleton events.
-
-
-
Constructor Detail
-
SkeletonMergerWriter
public SkeletonMergerWriter()
-
SkeletonMergerWriter
public SkeletonMergerWriter(ITextUnitMerger textUnitMerger)
-
SkeletonMergerWriter
public SkeletonMergerWriter(IFilter skeletonFilter, IFilterWriter writer, ITextUnitMerger textUnitMerger)
Use specificIFilterandIFilterWriterimplementations- Parameters:
skeletonFilter- -IFilterused to read skeleton, can be serialized events or original source file. ASSUME FILTER OPEN ALREADY CALLEDwriter- - override the writer specified in the skeletonStartDocumentevent. Can use null value for writer to use the default writer.textUnitMerger- user createdITextUnitMerger
-
SkeletonMergerWriter
public SkeletonMergerWriter(IFilter skeletonFilter, ITextUnitMerger textUnitMerger)
Use specificIFilterandIFilterWriterimplementations- Parameters:
skeletonFilter- -IFilterused to read skeleton, can be serialized events or original source file. ASSUME FILTER OPEN ALREADY CALLED writer to use the default writer.textUnitMerger- user createdITextUnitMerger
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getNamein interfaceIFilterWriter
-
setOptions
public void setOptions(LocaleId targetLocale, String defaultEncoding)
- Specified by:
setOptionsin interfaceIFilterWriter
-
setOutput
public void setOutput(String path)
- Specified by:
setOutputin interfaceIFilterWriter
-
setOutput
public void setOutput(OutputStream output)
- Specified by:
setOutputin interfaceIFilterWriter
-
handleEvent
public Event handleEvent(Event event)
- Specified by:
handleEventin interfaceIFilterWriter
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceIFilterWriter
-
getParameters
public Parameters getParameters()
- Specified by:
getParametersin interfaceIFilterWriter
-
setParameters
public void setParameters(IParameters params)
- Specified by:
setParametersin interfaceIFilterWriter
-
cancel
public void cancel()
- Specified by:
cancelin interfaceIFilterWriter
-
getEncoderManager
public EncoderManager getEncoderManager()
- Specified by:
getEncoderManagerin interfaceIFilterWriter
-
getSkeletonWriter
public ISkeletonWriter getSkeletonWriter()
- Specified by:
getSkeletonWriterin interfaceIFilterWriter
-
processStartDocument
protected void processStartDocument()
Use the skeletonStartDocumentevent to initialize theIFilterWriter. Initialize theITextUnitMerger
-
processTextUnit
protected void processTextUnit(Event event)
Take the translatedTextUnitand match it up with its corresponding skeleton version. CallITextUnitMergerto merge the translated segments into the skeletonTextUnit- Parameters:
event- - the translated version of theITextUnitevent
-
processUntilTextUnit
protected Event processUntilTextUnit()
Get events in the original document until the next text unit. Any event before is passed to the writer.- Returns:
- the event of the next text unit, or null if no next text unit is found.
-
processEndDocument
protected void processEndDocument()
There are no moreTextUnits. Read the remaining skeleton events and write them out.
-
setWriter
public void setWriter(IFilterWriter writer)
Set theIFilterWriterused to write out the skeleton events. This will override the internal writer as defined byStartDocumentin the skeleton.Must be called immediately after construction!!
- Parameters:
writer- -IFilterWriterused to write out the skeleton events
-
-