Package net.sf.okapi.filters.json
Class JSONFilter
- java.lang.Object
-
- net.sf.okapi.common.filters.AbstractFilter
-
- net.sf.okapi.filters.json.JSONFilter
-
- All Implemented Interfaces:
AutoCloseable,Iterator<Event>,IFilter,IJsonHandler
public class JSONFilter extends AbstractFilter implements IJsonHandler
Implements the IFilter interface for JSON files.
-
-
Field Summary
-
Fields inherited from interface net.sf.okapi.common.filters.IFilter
SUB_FILTER
-
-
Constructor Summary
Constructors Constructor Description JSONFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the input document.EncoderManagergetEncoderManager()Gets the EncoderManager object for this filter.ParametersgetParameters()Gets the current parameters for this filter.voidhandleComment(String c)Handle Json comment (illegal but found in partice)voidhandleEnd()Called once at the end of a document.voidhandleKey(String key, JsonValueTypes valueType, JsonKeyTypes keyType)Handle json key, used in resnamevoidhandleListEnd()voidhandleListStart()Handle json List: i.e., [ "value1", "value2" ] For contextual information.voidhandleObjectEnd()voidhandleObjectStart()Handle json Object: i.e., { "key" : "value" } For contextual information.voidhandleSeparator(String separator)Handle separator, i.e., ":" or ","voidhandleStart()Called once at the beginning of a new document.voidhandleValue(String value, JsonValueTypes valueType)Handle json value, may be double, single quoted string, number, boolean symbol or nullvoidhandleWhitespace(String whitespace)Handle json whitespacebooleanhasNext()Indicates if there is an event to process.protected booleanisUtf8Bom()Does the input have a UTF-8 Byte Order Mark?protected booleanisUtf8Encoding()Is the input encoded as UTF-8?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.voidsetParameters(IParameters params)Sets new parameters for this filter.-
Methods inherited from class net.sf.okapi.common.filters.AbstractFilter
addConfiguration, addConfiguration, addConfiguration, addConfigurations, cancel, createEndFilterEvent, createFilterWriter, createSkeletonWriter, createStartFilterEvent, findConfiguration, getConfiguration, getConfigurations, getDisplayName, getDocumentId, getDocumentName, getEncoding, getFilterConfigurationMapper, getMimeType, getName, getNewlineType, getParameters, getParametersClassName, getParentId, getSrcLoc, getTrgLoc, isCanceled, isGenerateSkeleton, isMultilingual, removeConfiguration, setDisplayName, setDocumentName, setEncoding, setFilterConfigurationMapper, setGenerateSkeleton, setMimeType, setMultilingual, setName, setNewlineType, setOptions, setParentId, setSrcLoc, setTrgLoc
-
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
-
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- Overrides:
closein classAbstractFilter
-
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.
-
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.- Specified by:
openin interfaceIFilter- Overrides:
openin classAbstractFilter- Parameters:
input- The RawDocument object to use to open the document.generateSkeleton- true to generate the skeleton data, false otherwise.
-
getParameters
public Parameters getParameters()
Description copied from interface:IFilterGets the current parameters for this filter.- Specified by:
getParametersin interfaceIFilter- Overrides:
getParametersin classAbstractFilter- Returns:
- The current parameters for this filter, or
DefaultParametersif 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- Overrides:
setParametersin classAbstractFilter- Parameters:
params- The new parameters to use.
-
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- Overrides:
getEncoderManagerin classAbstractFilter- Returns:
- the EncoderManager for this filter.
-
isUtf8Encoding
protected boolean isUtf8Encoding()
Description copied from class:AbstractFilterIs the input encoded as UTF-8?- Overrides:
isUtf8Encodingin classAbstractFilter- Returns:
- true if the document is in utf8 encoding.
-
isUtf8Bom
protected boolean isUtf8Bom()
Description copied from class:AbstractFilterDoes the input have a UTF-8 Byte Order Mark?- Overrides:
isUtf8Bomin classAbstractFilter- Returns:
- true if the document has a utf-8 byte order mark.
-
handleStart
public void handleStart()
Description copied from interface:IJsonHandlerCalled once at the beginning of a new document.- Specified by:
handleStartin interfaceIJsonHandler
-
handleEnd
public void handleEnd()
Description copied from interface:IJsonHandlerCalled once at the end of a document.- Specified by:
handleEndin interfaceIJsonHandler
-
handleComment
public void handleComment(String c)
Description copied from interface:IJsonHandlerHandle Json comment (illegal but found in partice)- Specified by:
handleCommentin interfaceIJsonHandler
-
handleKey
public void handleKey(String key, JsonValueTypes valueType, JsonKeyTypes keyType)
Description copied from interface:IJsonHandlerHandle json key, used in resname- Specified by:
handleKeyin interfaceIJsonHandler
-
handleWhitespace
public void handleWhitespace(String whitespace)
Description copied from interface:IJsonHandlerHandle json whitespace- Specified by:
handleWhitespacein interfaceIJsonHandler
-
handleValue
public void handleValue(String value, JsonValueTypes valueType)
Description copied from interface:IJsonHandlerHandle json value, may be double, single quoted string, number, boolean symbol or null- Specified by:
handleValuein interfaceIJsonHandler
-
handleObjectStart
public void handleObjectStart()
Description copied from interface:IJsonHandlerHandle json Object: i.e., { "key" : "value" } For contextual information.- Specified by:
handleObjectStartin interfaceIJsonHandler
-
handleObjectEnd
public void handleObjectEnd()
- Specified by:
handleObjectEndin interfaceIJsonHandler
-
handleListStart
public void handleListStart()
Description copied from interface:IJsonHandlerHandle json List: i.e., [ "value1", "value2" ] For contextual information.- Specified by:
handleListStartin interfaceIJsonHandler
-
handleListEnd
public void handleListEnd()
- Specified by:
handleListEndin interfaceIJsonHandler
-
handleSeparator
public void handleSeparator(String separator)
Description copied from interface:IJsonHandlerHandle separator, i.e., ":" or ","- Specified by:
handleSeparatorin interfaceIJsonHandler
-
-