| Qore FixedLengthUtil Module Reference 1.6

Loading...
Searching...
No Matches
Public Member Functions | List of all members
FixedLengthUtil::FixedLengthAbstractWriter Class Reference

Structured abstract writer for fixed-length lines. More...

`#include <FixedLengthAbstractWriter.qc.dox.h>`

Inheritance diagram for FixedLengthUtil::FixedLengthAbstractWriter:
[legend]

## Public Member Functions
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
Public Member Functions inherited from FixedLengthUtil::FixedLengthBase
| 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.

## Additional Inherited Members
Protected Attributes inherited from FixedLengthUtil::FixedLengthBase
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.

## Detailed Description

Structured abstract writer for fixed-length lines.

## Member Function Documentation

## ◆ 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 )

creates the FixedLengthAbstractWriter object

Parameters

  specs | Fixed-length line specification; see Specification Hash for more information
  opts | Global options; see Global Options for valid values

## ◆ 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