container  v1
Public Member Functions | Static Public Member Functions | List of all members
google_container_api::RecurringTimeWindow Class Reference

#include <recurring_time_window.h>

Inheritance diagram for google_container_api::RecurringTimeWindow:

Public Member Functions

 RecurringTimeWindow (const Json::Value &storage)
 
 RecurringTimeWindow (Json::Value *storage)
 
virtual ~RecurringTimeWindow ()
 
const StringPiece GetTypeName () const
 
bool has_recurrence () const
 
void clear_recurrence ()
 
const StringPiece get_recurrence () const
 
void set_recurrence (const StringPiece &value)
 
bool has_window () const
 
void clear_window ()
 
const TimeWindow get_window () const
 
TimeWindow mutable_window ()
 

Static Public Member Functions

static RecurringTimeWindowNew ()
 

Detailed Description

Represents an arbitrary window of time that recurs.

Constructor & Destructor Documentation

◆ RecurringTimeWindow() [1/2]

google_container_api::RecurringTimeWindow::RecurringTimeWindow ( const Json::Value &  storage)
explicit

Standard constructor for an immutable data object instance.

Parameters
[in]storageThe underlying data storage for this instance.

◆ RecurringTimeWindow() [2/2]

google_container_api::RecurringTimeWindow::RecurringTimeWindow ( Json::Value *  storage)
explicit

Standard constructor for a mutable data object instance.

Parameters
[in]storageThe underlying data storage for this instance.

◆ ~RecurringTimeWindow()

google_container_api::RecurringTimeWindow::~RecurringTimeWindow ( )
virtual

Standard destructor.

Member Function Documentation

◆ clear_recurrence()

void google_container_api::RecurringTimeWindow::clear_recurrence ( )
inline

Clears the 'recurrence' attribute.

◆ clear_window()

void google_container_api::RecurringTimeWindow::clear_window ( )
inline

Clears the 'window' attribute.

◆ get_recurrence()

const StringPiece google_container_api::RecurringTimeWindow::get_recurrence ( ) const
inline

Get the value of the 'recurrence' attribute.

◆ get_window()

const TimeWindow google_container_api::RecurringTimeWindow::get_window ( ) const

Get a reference to the value of the 'window' attribute.

◆ GetTypeName()

const StringPiece google_container_api::RecurringTimeWindow::GetTypeName ( ) const
inline

Returns a string denoting the type of this data object.

Returns
google_container_api::RecurringTimeWindow

◆ has_recurrence()

bool google_container_api::RecurringTimeWindow::has_recurrence ( ) const
inline

Determine if the 'recurrence' attribute was set.

Returns
true if the 'recurrence' attribute was set.

◆ has_window()

bool google_container_api::RecurringTimeWindow::has_window ( ) const
inline

Determine if the 'window' attribute was set.

Returns
true if the 'window' attribute was set.

◆ mutable_window()

TimeWindow google_container_api::RecurringTimeWindow::mutable_window ( )

Gets a reference to a mutable value of the 'window' property.

The window of the first recurrence.

Returns
The result can be modified to change the attribute value.

◆ New()

RecurringTimeWindow * google_container_api::RecurringTimeWindow::New ( )
static

Creates a new default instance.

Returns
Ownership is passed back to the caller.

◆ set_recurrence()

void google_container_api::RecurringTimeWindow::set_recurrence ( const StringPiece &  value)
inline

Change the 'recurrence' attribute.

An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window reccurs. They go on for the span of time between the start and end time.

For example, to have something repeat every weekday, you'd use: FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR To repeat some window daily (equivalent to the DailyMaintenanceWindow): FREQ=DAILY For the first weekend of every month: FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU This specifies how frequently the window starts. Eg, if you wanted to have a 9-5 UTC-4 window every weekday, you'd use something like:

start time = 2019-01-01T09:00:00-0400 end time = 2019-01-01T17:00:00-0400 recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

Windows can span multiple days. Eg, to make the window encompass every weekend from midnight Saturday till the last minute of Sunday UTC:

start time = 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence = FREQ=WEEKLY;BYDAY=SA

Note the start and end time's specific dates are largely arbitrary except to specify duration of the window and when it first starts. The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.

Parameters
[in]valueThe new value.

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