Structured abstract writer for fixed-length lines.
More...
#include <FixedLengthAbstractWriter.qc.dox.h>
|
| bool | checkTransition (*string from, *string to) |
| | A verification function to be called for each line. This method can be overridden to achieve a begin-to-end validation of the whole input file.
|
| |
| | constructor (hash< auto > specs, *hash< auto > opts) |
| | creates the FixedLengthAbstractWriter object
|
| |
| string | formatLine (hash< auto > line) |
| | Formats a single line from a hash describing the record type and its contents.
|
| |
|
int | linesCount () |
| | get processed lines count
|
| |
| abstract | write (hash< auto > line) |
| | Renders a single line for a single input record hash to the output.
|
| |
| abstract | write (list< auto > lines) |
| | iterates the input records and writes rendered versions of all input records to the output
|
| |
| abstract | write (Qore::AbstractIterator lines) |
| | iterates the input records and writes rendered versions of all input records to the output
|
| |
|
| constructor (hash< auto > m_specs, *hash< auto > m_opts) |
| | Creates the object from the record specifications.
|
| |
|
*hash< string, AbstractDataField > | getRecordType () |
| | Returns the description of the record type, if any.
|
| |
|
|
const | GlobalOptionMap = ... |
| | Translates from global options to data provider options.
|
| |
|
*hash< auto > | m_opts |
| | Global input or output options.
|
| |
|
hash< auto > | m_specs |
| | The record specifications.
|
| |
Structured abstract writer for fixed-length lines.
◆ checkTransition()
| bool FixedLengthUtil::FixedLengthAbstractWriter::checkTransition |
( |
*string | from, |
|
|
*string | to ) |
A verification function to be called for each line. This method can be overridden to achieve a begin-to-end validation of the whole input file.
- Parameters
-
| from | Type of previous line being processed |
| to | Type of the current line being processed |
◆ constructor()
| FixedLengthUtil::FixedLengthAbstractWriter::constructor |
( |
hash< auto > | specs, |
|
|
*hash< auto > | opts ) |
◆ formatLine()
| string FixedLengthUtil::FixedLengthAbstractWriter::formatLine |
( |
hash< auto > | line | ) |
|
Formats a single line from a hash describing the record type and its contents.
- Parameters
-
| line | a hash describing the record to be formatted; the hash must have the following keys:
"type": a string giving the record type (must be defined in Specification Hash given in the constructor)
"record": a hash giving the input record to be rendered (with keys as defined in the Record Description Hash for the record identified by the type argument)
|
- Exceptions
-
| INVALID-LINE-DATA | line argument missing either type or record keys |
| INVALID-RECORD | record name (type key in the record hash) not recognized |
| FIELD-INPUT-ERROR | the input value is too large to render into the output field |
| RECORD-TRANSITION-ERROR | a record transition error occurred; an invalid record sequence was given in the input data |
◆ write() [1/3]
| abstract FixedLengthUtil::FixedLengthAbstractWriter::write |
( |
hash< auto > | line | ) |
|
Renders a single line for a single input record hash to the output.
- Parameters
-
| line | A hash representing input data to be written to the output; the hash must have the following keys:
"type": a string giving the record type (must be defined in Specification Hash given in the constructor)
"record": a hash giving the input record to be rendered (with keys as defined in the Record Description Hash for the record identified by the type argument)
|
- Exceptions
-
| INVALID-RECORD | record name (type key in the record hash) not recognized |
| FIELD-INPUT-ERROR | the input value is too large to render into the output field |
| RECORD-TRANSITION-ERROR | a record transition error occurred; an invalid record sequence was given in the input data |
◆ write() [2/3]
| abstract FixedLengthUtil::FixedLengthAbstractWriter::write |
( |
list< auto > | lines | ) |
|
iterates the input records and writes rendered versions of all input records to the output
- Parameters
-
| lines | A list of input records; each list value must be a hash with the following keys:
"type": a string giving the record type (must be defined in Specification Hash given in the constructor)
"record": a hash giving the input record to be rendered (with keys as defined in the Record Description Hash for the record identified by the type argument)
|
- Exceptions
-
| INVALID-RECORD | record name (type key in the record hash) not recognized |
| FIELD-INPUT-ERROR | the input value is too large to render into the output field |
| RECORD-TRANSITION-ERROR | a record transition error occurred; an invalid record sequence was given in the input data |
◆ write() [3/3]
| abstract FixedLengthUtil::FixedLengthAbstractWriter::write |
( |
Qore::AbstractIterator | lines | ) |
|
iterates the input records and writes rendered versions of all input records to the output
- Parameters
-
| lines | An iterator to stream input records; each iterator value must be a hash with the following keys:
"type": a string giving the record type (must be defined in Specification Hash given in the constructor)
"record": a hash giving the input record to be rendered (with keys as defined in the Record Description Hash for the record identified by the type argument)
|
- Exceptions
-
| INVALID-RECORD | record name (type key in the record hash) not recognized |
| FIELD-INPUT-ERROR | the input value is too large to render into the output field |
| RECORD-TRANSITION-ERROR | a record transition error occurred; an invalid record sequence was given in the input data |