Package net.sf.okapi.common.filters
Class SubFilter
- java.lang.Object
-
- net.sf.okapi.common.filters.SubFilter
-
- All Implemented Interfaces:
AutoCloseable,Iterator<Event>,IFilter
- Direct Known Subclasses:
PcdataSubFilter
public class SubFilter extends Object implements IFilter
Adapter that converts anyIFilterinto a subfilter (a filter called from anotherIFilter). Specific implementations can implement this class and override any needed methods to transformEvents as they are produced. This class should be used to wrap filters that useGenericSkeletonand its subclasses. If a different type of skeleton is used or id/name generation logic should be changed, subclass this class.
-
-
Field Summary
-
Fields inherited from interface net.sf.okapi.common.filters.IFilter
SUB_FILTER
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringbuildRefId()protected StringbuildRefName()protected StringbuildResourceId(String resId, Class<? extends IResource> resClass)protected StringbuildResourceName(String resName, boolean autoGenerated, Class<? extends INameable> resClass)voidcancel()Cancels the current process.voidclose()Closes the input document.protected voidconvertRefsInSkeleton(ISkeleton skel)IFilterWritercreateFilterWriter()Creates a new IFilterWriter object from the most appropriate class to use with this filter.CodecreateRefCode()EventcreateRefEvent()EventcreateRefEvent(IResource resource)EventcreateRefEvent(ISkeleton beforeSkeleton, ISkeleton afterSkeleton)ISkeletonWritercreateSkeletonWriter()Creates a new ISkeletonWriter object that corresponds to the type of skeleton this filter uses.List<FilterConfiguration>getConfigurations()Gets the list of all predefined configurations for this filter.SubFilterEventConvertergetConverter()StringgetDisplayName()Gets the localizable display name of this filter.EncoderManagergetEncoderManager()Gets the EncoderManager object for this filter.List<Event>getEvents(RawDocument input)Get events by subfilter at once, without using open()/hasNext()/next()/close().IFiltergetFilter()StringgetMimeType()Gets the MIME type of the format supported by this filter.StringgetName()Gets the name/identifier of this filter.IParametersgetParameters()Gets the current parameters for this filter.protected StringgetParentId()protected StringgetParentName()protected intgetSectionIndex()booleanhasNext()Indicates if there is an event to process.Eventnext()Gets the next event available.voidopen(RawDocument input)Opens the input document described in a give RawDocument object.voidopen(RawDocument input, boolean generateSkeleton)Opens the input document described in a give RawDocument object, and optionally creates skeleton information.static booleanresourceIdsMatch(String startSubfilterResourceId, String endSubfilterResourceId)voidsetFilterConfigurationMapper(IFilterConfigurationMapper fcMapper)Sets the filter configuration mapper for this filter.voidsetParameters(IParameters params)Sets new parameters for this filter.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining, remove
-
-
-
-
Method Detail
-
getFilter
public IFilter getFilter()
-
getConverter
public SubFilterEventConverter getConverter()
-
getName
public String getName()
Description copied from interface:IFilterGets the name/identifier of this filter.
-
getDisplayName
public String getDisplayName()
Description copied from interface:IFilterGets the localizable display name of this filter.- Specified by:
getDisplayNamein interfaceIFilter- Returns:
- the localizable display name of this filter.
-
open
public void open(RawDocument input)
Description copied from interface:IFilterOpens the input document described in a give RawDocument object. Skeleton information is always created when you use this method.
-
open
public void open(RawDocument input, boolean generateSkeleton)
Description copied from interface:IFilterOpens the input document described in a give RawDocument object, and optionally creates skeleton information.
-
close
public void close()
Description copied from interface:IFilterCloses the input document. Developers should call this method from within their code before sending the last event: This can allow writer objects to overwrite the input file when they receive the last event. This method must also be safe to call even if the input document is not opened.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceIFilter
-
hasNext
public boolean hasNext()
Description copied from interface:IFilterIndicates if there is an event to process.Implementer Note: The caller must be able to call this method several times without changing state.
-
next
public Event next()
Description copied from interface:IFilterGets the next event available. Calling this method can be done only once on each event.
-
cancel
public void cancel()
Description copied from interface:IFilterCancels the current process.
-
getParameters
public IParameters getParameters()
Description copied from interface:IFilterGets the current parameters for this filter.- Specified by:
getParametersin interfaceIFilter- Returns:
- The current parameters for this filter, or null if this filter has no parameters.
-
setParameters
public void setParameters(IParameters params)
Description copied from interface:IFilterSets new parameters for this filter.- Specified by:
setParametersin interfaceIFilter- Parameters:
params- The new parameters to use.
-
setFilterConfigurationMapper
public void setFilterConfigurationMapper(IFilterConfigurationMapper fcMapper)
Description copied from interface:IFilterSets the filter configuration mapper for this filter. This object is used by this filter if it needs to instantiate sub-filters. The implementations of IFilter that do not use sub-filters can use an empty stub for this method.- Specified by:
setFilterConfigurationMapperin interfaceIFilter- Parameters:
fcMapper- the mapper to set.
-
createSkeletonWriter
public ISkeletonWriter createSkeletonWriter()
Description copied from interface:IFilterCreates a new ISkeletonWriter object that corresponds to the type of skeleton this filter uses.- Specified by:
createSkeletonWriterin interfaceIFilter- Returns:
- A new instance of ISkeletonWriter for the type of skeleton this filter uses.
-
createFilterWriter
public IFilterWriter createFilterWriter()
Description copied from interface:IFilterCreates a new IFilterWriter object from the most appropriate class to use with this filter.- Specified by:
createFilterWriterin interfaceIFilter- Returns:
- A new instance of IFilterWriter for the preferred implementation for this filter.
-
getEncoderManager
public EncoderManager getEncoderManager()
Description copied from interface:IFilterGets the EncoderManager object for this filter. This encoder manager should provided the mappings to the different MIME types used by the filter.- Specified by:
getEncoderManagerin interfaceIFilter- Returns:
- the EncoderManager for this filter.
-
getMimeType
public String getMimeType()
Description copied from interface:IFilterGets the MIME type of the format supported by this filter.- Specified by:
getMimeTypein interfaceIFilter- Returns:
- The MIME type of the format supported by this filter.
-
getConfigurations
public List<FilterConfiguration> getConfigurations()
Description copied from interface:IFilterGets the list of all predefined configurations for this filter.- Specified by:
getConfigurationsin interfaceIFilter- Returns:
- a list of the all predefined configurations for this filter.
-
getEvents
public List<Event> getEvents(RawDocument input)
Get events by subfilter at once, without using open()/hasNext()/next()/close().- Parameters:
input- theRawDocumentto retrieve events from.- Returns:
- a list of events created the this subfilter for a given RawDocument input.
-
createRefCode
public Code createRefCode()
-
createRefEvent
public Event createRefEvent()
-
buildResourceId
protected String buildResourceId(String resId, Class<? extends IResource> resClass)
-
buildResourceName
protected String buildResourceName(String resName, boolean autoGenerated, Class<? extends INameable> resClass)
-
buildRefId
protected String buildRefId()
-
resourceIdsMatch
public static boolean resourceIdsMatch(String startSubfilterResourceId, String endSubfilterResourceId)
-
buildRefName
protected String buildRefName()
-
getParentId
protected final String getParentId()
-
getParentName
protected final String getParentName()
-
getSectionIndex
protected final int getSectionIndex()
-
convertRefsInSkeleton
protected void convertRefsInSkeleton(ISkeleton skel)
-
-