Qt 4.8
Public Types | Public Functions | Static Public Functions | Protected Functions | Friends | List of all members
QPatternist::Date Class Reference

Implements the value instance of the xs:date type. More...

#include <qdate_p.h>

Inheritance diagram for QPatternist::Date:
QPatternist::AbstractDateTime QPatternist::AtomicValue QSharedData QPatternist::CppCastingHelper< AtomicValue >

Public Types

typedef AtomicValue::Ptr Ptr
 
- Public Types inherited from QPatternist::AbstractDateTime
enum  { DefaultYear = 2000, DefaultMonth = 1, DefaultDay = 1 }
 
typedef QExplicitlySharedDataPointer< AbstractDateTimePtr
 
- Public Types inherited from QPatternist::AtomicValue
typedef QList< AtomicValue::PtrList
 
typedef QExplicitlySharedDataPointer< AtomicValuePtr
 

Public Functions

virtual Item fromValue (const QDateTime &dt) const
 
virtual QString stringValue () const
 
virtual ItemType::Ptr type () const
 
- Public Functions inherited from QPatternist::AbstractDateTime
 AbstractDateTime (const QDateTime &dateTime)
 
QString dateToString () const
 
QString timeToString () const
 
const QDateTimetoDateTime () const
 
- Public Functions inherited from QPatternist::AtomicValue
virtual bool evaluateEBV (const QExplicitlySharedDataPointer< DynamicContext > &context) const
 
virtual bool hasError () const
 
virtual ~AtomicValue ()
 
- Public Functions inherited from QSharedData
 QSharedData ()
 Constructs a QSharedData object with a reference count of 0. More...
 
 QSharedData (const QSharedData &)
 Constructs a QSharedData object with reference count 0. More...
 
- Public Functions inherited from QPatternist::CppCastingHelper< AtomicValue >
const TCastTarget * as () const
 
TCastTarget * as ()
 

Static Public Functions

static Date::Ptr fromDateTime (const QDateTime &date)
 
static Date::Ptr fromLexical (const QString &string)
 
- Static Public Functions inherited from QPatternist::AbstractDateTime
static bool isRangeValid (const QDate &date, QString &message)
 
static QString serializeMSeconds (const MSecondProperty msecs)
 
- Static Public Functions inherited from QPatternist::AtomicValue
static ItemType::Ptr qtToXDMType (const QXmlItem &item)
 
static QVariant toQt (const AtomicValue *const value)
 
static QVariant toQt (const AtomicValue::Ptr &value)
 
static Item toXDM (const QVariant &value)
 

Protected Functions

 Date (const QDateTime &dateTime)
 
- Protected Functions inherited from QPatternist::AbstractDateTime
QString zoneOffsetToString () const
 
- Protected Functions inherited from QPatternist::AtomicValue
 AtomicValue ()
 
- Protected Functions inherited from QPatternist::CppCastingHelper< AtomicValue >
 CppCastingHelper ()
 

Friends

class CommonValues
 

Additional Inherited Members

- Public Variables inherited from QSharedData
QAtomicInt ref
 
- Static Protected Functions inherited from QPatternist::AbstractDateTime
static void copyTimeSpec (const QDateTime &from, QDateTime &to)
 Makes the QDateTime::timeSpec() and QDateTime::zoneOffset() of ot * consistent to from. More...
 
static QDateTime create (AtomicValue::Ptr &errorMessage, const QString &lexicalSource, const CaptureTable &captTable)
 
- Protected Variables inherited from QPatternist::AbstractDateTime
const QDateTime m_dateTime
 

Detailed Description

Implements the value instance of the xs:date type.

Author
Frans Englich frans.nosp@m..eng.nosp@m.lich@.nosp@m.noki.nosp@m.a.com

Definition at line 69 of file qdate_p.h.

Typedefs

◆ Ptr

Definition at line 72 of file qdate_p.h.

Constructors and Destructors

◆ Date()

Date::Date ( const QDateTime dateTime)
protected

Definition at line 51 of file qdate.cpp.

Referenced by fromDateTime(), and fromLexical().

51  : AbstractDateTime(dateTime)
52 {
53 }
AbstractDateTime(const QDateTime &dateTime)

Functions

◆ fromDateTime()

Date::Ptr Date::fromDateTime ( const QDateTime date)
static

Definition at line 88 of file qdate.cpp.

Referenced by QPatternist::AbstractDateTimeToDateCaster::castFrom(), QPatternist::AdjustDateToTimezoneFN::createValue(), QPatternist::CurrentDateFN::evaluateSingleton(), fromValue(), and QPatternist::AtomicValue::toXDM().

89 {
90  /* Don't include the QTime; "reset" the time. */
91  QDateTime result;
92  copyTimeSpec(date, result);
93  result.setDate(date.date());
94  Q_ASSERT(date.isValid());
95 
96  return Date::Ptr(new Date(result));
97 }
bool isValid() const
Returns true if both the date and the time are valid; otherwise returns false.
Definition: qdatetime.cpp:2346
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
AtomicValue::Ptr Ptr
Definition: qdate_p.h:72
void setDate(const QDate &date)
Sets the date part of this datetime to date.
Definition: qdatetime.cpp:2399
static void copyTimeSpec(const QDateTime &from, QDateTime &to)
Makes the QDateTime::timeSpec() and QDateTime::zoneOffset() of ot * consistent to from...
QDate date() const
Returns the date part of the datetime.
Definition: qdatetime.cpp:2357
The QDateTime class provides date and time functions.
Definition: qdatetime.h:216
Date(const QDateTime &dateTime)
Definition: qdate.cpp:51

◆ fromLexical()

Date::Ptr Date::fromLexical ( const QString string)
static

Creates an instance from the lexical representation string.

Definition at line 55 of file qdate.cpp.

Referenced by QPatternist::StringToDateCaster::castFrom().

56 {
57  static const CaptureTable captureTable( // STATIC DATA
58  /* The extra paranthesis is a build fix for GCC 3.3. */
60  "^\\s*" /* Any preceding whitespace. */
61  "(-?)" /* Any preceding minus. */
62  "(\\d{4,})" /* The year part. */
63  "-" /* Delimiter. */
64  "(\\d{2})" /* The month part. */
65  "-" /* Delimiter. */
66  "(\\d{2})" /* The day part. */
67  "(?:(\\+|-)(\\d{2}):(\\d{2})|(Z))?" /* The zone offset, "+08:24". */
68  "\\s*$" /* Any terminating whitespace. */))),
69  /*zoneOffsetSignP*/ 5,
70  /*zoneOffsetHourP*/ 6,
71  /*zoneOffsetMinuteP*/ 7,
72  /*zoneOffsetUTCSymbolP*/ 8,
73  /*yearP*/ 2,
74  /*monthP*/ 3,
75  /*dayP*/ 4,
76  /*hourP*/ -1,
77  /*minutesP*/ -1,
78  /*secondsP*/ -1,
79  /*msecondsP*/ -1,
80  /*yearSign*/ 1);
81 
82  AtomicValue::Ptr err;
83  const QDateTime retval(create(err, lexical, captureTable));
84 
85  return err ? err : Date::Ptr(new Date(retval));
86 }
The QRegExp class provides pattern matching using regular expressions.
Definition: qregexp.h:61
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
AtomicValue::Ptr Ptr
Definition: qdate_p.h:72
static QDateTime create(AtomicValue::Ptr &errorMessage, const QString &lexicalSource, const CaptureTable &captTable)
The QDateTime class provides date and time functions.
Definition: qdatetime.h:216
Date(const QDateTime &dateTime)
Definition: qdate.cpp:51

◆ fromValue()

Item Date::fromValue ( const QDateTime dt) const
virtual

A factory function for creating instances that are of the dynamic type of this class, that represents dt.

The default implementation performs an assert() call. This function is not pure virtual because all sub-classes do not use it.

Reimplemented from QPatternist::AbstractDateTime.

Definition at line 99 of file qdate.cpp.

100 {
101  Q_ASSERT(dt.isValid());
102  return fromDateTime(dt);
103 }
static Date::Ptr fromDateTime(const QDateTime &date)
Definition: qdate.cpp:88
bool isValid() const
Returns true if both the date and the time are valid; otherwise returns false.
Definition: qdatetime.cpp:2346
#define Q_ASSERT(cond)
Definition: qglobal.h:1823

◆ stringValue()

QString Date::stringValue ( ) const
virtual

Implements QPatternist::AtomicValue.

Definition at line 105 of file qdate.cpp.

106 {
107  return dateToString() + zoneOffsetToString();
108 }

◆ type()

ItemType::Ptr Date::type ( ) const
virtual

Implements QPatternist::AtomicValue.

Definition at line 110 of file qdate.cpp.

111 {
112  return BuiltinTypes::xsDate;
113 }
static const AtomicType::Ptr xsDate

Friends and Related Functions

◆ CommonValues

friend class CommonValues
friend

Definition at line 85 of file qdate_p.h.


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