public class JSONFormat extends Object implements DataFormat
DataFormat.DataFormatter, DataFormat.DataParser
Constructor and Description |
---|
JSONFormat(RecordTextSchema<?> schema,
boolean[] arguments) |
JSONFormat(RecordTextSchema<?> schema,
boolean[] arguments,
CharsetEncoding charsetEncoding) |
JSONFormat(RecordTextSchema<?> schema,
boolean[] arguments,
CharsetEncoding charsetEncoding,
boolean multiline) |
JSONFormat(RecordTextSchema<?> schema,
boolean allowComments,
boolean allowUnquotedFieldNames,
boolean allowSingleQuotes,
boolean allowUnquotedControlChars,
boolean allowBackslashEscapingAny,
boolean allowNumericLeadingZeros,
boolean allowNonNumericNumbers,
CharsetEncoding charsetEncoding,
boolean multilineFormat) |
Modifier and Type | Method and Description |
---|---|
DataFormat.DataParser |
createParser(ParsingOptions options)
Create a new parser for the format using the specified parsing options.
|
DataFormat.DataFormatter |
createWriter(FormattingOptions options)
Create a new writer for the format using the specified formatting options.
|
protected boolean[] |
getJsonOptions() |
FileMetadata |
getMetadata()
Gets the metadata associated with the format.
|
RecordTokenType |
getType()
Gets the record type associated with the format.
|
boolean |
isSplittable()
Indicates if the format supports parsing of subsections
of a file.
|
FileMetadata |
readMetadata(FileClient fileClient,
ByteSource source)
Reads the metadata associated with the format.
|
void |
setMetadata(FileMetadata metadata)
Sets the metadata associated with the format.
|
void |
writeMetadata(FileMetadata metadata,
FileClient fileClient,
ByteSink target)
Writes the provided metadata associated with the format.
|
public JSONFormat(RecordTextSchema<?> schema, boolean[] arguments)
public JSONFormat(RecordTextSchema<?> schema, boolean[] arguments, CharsetEncoding charsetEncoding)
public JSONFormat(RecordTextSchema<?> schema, boolean[] arguments, CharsetEncoding charsetEncoding, boolean multiline)
public JSONFormat(RecordTextSchema<?> schema, boolean allowComments, boolean allowUnquotedFieldNames, boolean allowSingleQuotes, boolean allowUnquotedControlChars, boolean allowBackslashEscapingAny, boolean allowNumericLeadingZeros, boolean allowNonNumericNumbers, CharsetEncoding charsetEncoding, boolean multilineFormat)
public RecordTokenType getType()
DataFormat
For many formats, this may be derived from a schema object describing the format layout.
getType
in interface DataFormat
public FileMetadata getMetadata()
DataFormat
getMetadata
in interface DataFormat
public void setMetadata(FileMetadata metadata)
DataFormat
setMetadata
in interface DataFormat
public FileMetadata readMetadata(FileClient fileClient, ByteSource source)
DataFormat
readMetadata
in interface DataFormat
fileClient
- client used to read filesource
- location of the filespublic void writeMetadata(FileMetadata metadata, FileClient fileClient, ByteSink target)
DataFormat
writeMetadata
in interface DataFormat
metadata
- the metadata to writefileClient
- client used to write fileprotected boolean[] getJsonOptions()
public DataFormat.DataParser createParser(ParsingOptions options)
DataFormat
createParser
in interface DataFormat
options
- parsing options to usepublic DataFormat.DataFormatter createWriter(FormattingOptions options)
DataFormat
createWriter
in interface DataFormat
options
- formatting options to usepublic boolean isSplittable()
DataFormat
A format should only return true
if it can,
at least in some situations, support this sort of parsing.
If a format requires reading the entire file, it
must return false
.
If a format is not splittable, a file in the format cannot be parsed in parallel; however, individual files can still be parsed independently in parallel, as when reading the contents of a directory or using a file globbing pattern.
isSplittable
in interface DataFormat
true
if the format supports parsing
only a portion of the file, false
otherwiseCopyright © 2020 Actian Corporation. All rights reserved.