public class FixedTextFormat extends Object implements DataFormat
ReadFixedText
and
WriteFixedText
to access data stored as fixed text.DataFormat.DataFormatter, DataFormat.DataParser
Constructor and Description |
---|
FixedTextFormat(FixedWidthTextRecord schema,
String recordSeparator,
CharsetEncoding encoding)
Create a data format for accessing fixed text data.
|
FixedTextFormat(FixedWidthTextRecord schema,
String recordSeparator,
CharsetEncoding encoding,
String lineComment)
Create a data format for accessing fixed text data.
|
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.
|
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 FixedTextFormat(FixedWidthTextRecord schema, String recordSeparator, CharsetEncoding encoding)
schema
- the schema to use for records. This provides
fields name and offsets as well as formatting information for field values.recordSeparator
- characters to use as a separator between
recordsencoding
- character set definition for data encoding
in the textpublic FixedTextFormat(FixedWidthTextRecord schema, String recordSeparator, CharsetEncoding encoding, String lineComment)
schema
- the schema to use for records. This provides
fields name and offsets as well as formatting information for field values.recordSeparator
- characters to use as a separator between
recordsencoding
- character set definition for data encodinglineComment
- characters used to indicate line comments
in the textpublic 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 filepublic 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()
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.
Fixed text is always splittable.
isSplittable
in interface DataFormat
true
if the format supports parsing
only a portion of the file, false
otherwiseCopyright © 2020 Actian Corporation. All rights reserved.