frepple::Calendar::Bucket Class Reference

This class represents a time bucket as a part of a calendar. More...

#include <model.h>

Inheritance diagram for frepple::Calendar::Bucket:
frepple::utils::Object frepple::utils::NonCopyable frepple::CalendarPointer< T >::BucketPointer frepple::CalendarValue< T >::BucketValue

List of all members.

Public Member Functions

bool checkValid (Date d) const
void endElement (XMLInput &, const Attribute &, const DataElement &)
virtual bool getBool () const
Date getEnd () const
string getName () const
int getPriority () const
virtual size_t getSize () const
Date getStart () const
virtual const MetaClassgetType () const
void getValue () const
void setEnd (const Date &d)
void setName (const string &s)
void setPriority (int f)
void setStart (const Date &d)
void setValue ()
bool useDefaultName () const
virtual void writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const

Static Public Attributes

static const MetaCategorymetadata

Protected Member Functions

 Bucket (Date start, Date end, string name)
void writeHeader (XMLOutput *) const

Friends

class BucketIterator
class Calendar
class EventIterator

Detailed Description

This class represents a time bucket as a part of a calendar.

Manipulation of instances of this class need to be handled with the methods on the friend class Calendar.

See also:
Calendar

Definition at line 105 of file model.h.


Constructor & Destructor Documentation

frepple::Calendar::Bucket::Bucket ( Date  start,
Date  end,
string  name 
) [inline, protected]

Constructor.

Definition at line 145 of file model.h.


Member Function Documentation

bool frepple::Calendar::Bucket::checkValid ( Date  d  )  const [inline]

Verifies whether this entry is effective on a given date.

Definition at line 207 of file model.h.

void frepple::Calendar::Bucket::endElement ( XMLInput pIn,
const Attribute pAttr,
const DataElement pElement 
) [virtual]

Reads the bucket information from the input. Only the fields "name" and "start" are read in. Other fields as also written out but these are information-only fields.

Implements frepple::utils::Object.

Reimplemented in frepple::CalendarValue< T >::BucketValue, and frepple::CalendarPointer< T >::BucketPointer.

Definition at line 319 of file calendar.cpp.

virtual bool frepple::Calendar::Bucket::getBool (  )  const [inline, virtual]
Date frepple::Calendar::Bucket::getEnd (  )  const [inline]

Returns the end date of the bucket.

Definition at line 181 of file model.h.

string frepple::Calendar::Bucket::getName (  )  const [inline]

Returns the name of the bucket. If no name was ever explicitly specified with the setName() method, a default name is generated by converting the start date into a string. To reduce the memory needs, this default string is computed with every call to the getName() method and never stored internally. Only explicitly specified names are kept in memory.

Definition at line 171 of file model.h.

int frepple::Calendar::Bucket::getPriority (  )  const [inline]

Returns the priority of this bucket, compared to other buckets effective at a certain time.
Lower numbers indicate a higher priority level.
The default value is 0.

Definition at line 197 of file model.h.

virtual size_t frepple::Calendar::Bucket::getSize (  )  const [inline, virtual]

Return the memory size of the object in bytes.

Implements frepple::utils::Object.

Reimplemented in frepple::CalendarValue< T >::BucketValue, and frepple::CalendarPointer< T >::BucketPointer.

Definition at line 226 of file model.h.

Date frepple::Calendar::Bucket::getStart (  )  const [inline]

Returns the start date of the bucket.

Definition at line 187 of file model.h.

virtual const MetaClass& frepple::Calendar::Bucket::getType (  )  const [inline, virtual]

This returns the type information on the object, a bit similar to the standard type_info information.

Implements frepple::utils::Object.

Reimplemented in frepple::CalendarValue< T >::BucketValue, and frepple::CalendarPointer< T >::BucketPointer.

Definition at line 224 of file model.h.

void frepple::Calendar::Bucket::getValue (  )  const [inline]

This method is here only to keep the API of all calendar classes consistent. Note that this isn't exactly a virtual method, since the return value is different for different calendar types.

Reimplemented in frepple::CalendarValue< T >::BucketValue, and frepple::CalendarPointer< T >::BucketPointer.

Definition at line 157 of file model.h.

void frepple::Calendar::Bucket::setEnd ( const Date d  )  [inline]

Updates the end date of the bucket.

Definition at line 184 of file model.h.

void frepple::Calendar::Bucket::setName ( const string &  s  )  [inline]

Updates the name of a bucket.

Definition at line 178 of file model.h.

void frepple::Calendar::Bucket::setPriority ( int  f  )  [inline]

Updates the priority of this bucket, compared to other buckets effective at a certain time.
Lower numbers indicate a higher priority level.
The default value is 0.

Definition at line 204 of file model.h.

void frepple::Calendar::Bucket::setStart ( const Date d  )  [inline]

Updates the end date of the bucket.

Definition at line 190 of file model.h.

void frepple::Calendar::Bucket::setValue (  )  [inline]

This method is here only to keep the API of all calendar classes consistent.

Definition at line 162 of file model.h.

bool frepple::Calendar::Bucket::useDefaultName (  )  const [inline]

Returns true if the name of the bucket has not been explicitly specified.

Definition at line 175 of file model.h.

void frepple::Calendar::Bucket::writeElement ( XMLOutput ,
const Keyword ,
mode  = DEFAULT 
) const [virtual]

Called while writing the model into an XML-file. The user class should write itself out, using the IOutStream members for its "simple" members and calling writeElement recursively for any contained objects. Not all classes are expected to implement this method. In instances of such a class can be created but can't be persisted. E.g. Command

Reimplemented from frepple::utils::Object.

Reimplemented in frepple::CalendarValue< T >::BucketValue, and frepple::CalendarPointer< T >::BucketPointer.

Definition at line 310 of file calendar.cpp.

void frepple::Calendar::Bucket::writeHeader ( XMLOutput o  )  const [protected]

Auxilary function to write out the start of the XML.

Definition at line 269 of file calendar.cpp.


Friends And Related Function Documentation

friend class BucketIterator [friend]

Definition at line 108 of file model.h.

friend class Calendar [friend]

Definition at line 107 of file model.h.

friend class EventIterator [friend]

Definition at line 109 of file model.h.


Member Data Documentation

Definition at line 228 of file model.h.


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

Generated on 25 Feb 2010 for frePPLe by  doxygen 1.6.1