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]
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 |