Public Member Functions

TimestampStrategy Class Reference
[Column Manipulation Strategies]

A column strategy used to interpret timestamps from raw data. More...

#include <importfilemodel.h>

Inheritance diagram for TimestampStrategy:
Inheritance graph
[legend]
Collaboration diagram for TimestampStrategy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TimestampStrategy (StrategySettings &settings)
const QVariant process (const QVariant &input) const
void reconfigure ()
Strategy::StrategyType name () const

Detailed Description

A column strategy used to interpret timestamps from raw data.


Constructor & Destructor Documentation

TimestampStrategy::TimestampStrategy ( StrategySettings settings  ) 

: Strategy(settings) {reconfigure();};


Member Function Documentation

Strategy::StrategyType TimestampStrategy::name (  )  const [virtual]

Reimplemented from Strategy.

{return Strategy::StrategyTimestamp;}

const QVariant TimestampStrategy::process ( const QVariant input  )  const [virtual]

Reimplemented from Strategy.

{
    QString data(input.toString());
    // QDateTime converts empty strings to "1900..." rather than to empty strings.
    // Therefore, if data is empty, an invalid QVariant is returned.
    if (data.isEmpty()) return QVariant();

    if (!format.contains("X")) {
        return QVariant::fromValue<QString>(QDateTime::fromString(data, format).toString(Qt::ISODate));
    } else {
        QString tmpFormat(format);
        tmpFormat.replace("X", data);
        QVariant result(parser(tmpFormat));
        if (result == SimpleParser::invalid()) return QVariant();
        return QVariant::fromValue<QString>(QDateTime::fromTime_t(0).addMSecs(result.toLongLong()).toString(Qt::ISODate));
    }
}

void TimestampStrategy::reconfigure (  )  [virtual]

Reimplemented from Strategy.

Referenced by TimestampStrategy().


The documentation for this class was generated from the following files: