GeostoreTimeEndpointProto

GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeEndpointProto


Table of Contents ▼

Jump to a specific part of the page:

Description

Not all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other ("day of year" and "day of week", for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are "smaller" than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, "smaller" units repeat within the "larger" unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. ----------------------------------------------------------------------------- WARNING - if you add new fields to TimeEndpointProto you need to: - ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) -----------------------------------------------------------------------------

Attributes List

This module has the following attributes (case-insensitive ascending order):

View Attributes

Attributes

  1. day (type: integer(), default: nil)
    - Valid ranges are 0-7, 1-31, and 1-366 (see day_type below)
  2. dayType (type: String.t, default: nil)
    -
  3. hour (type: integer(), default: nil)
    - Valid range is 0-24. Because it could be unclear what wrapping hours mean in relation to days, 24 is used to denote midnight at the end of a day.
  4. minute (type: integer(), default: nil)
    - Valid range is 0-59, except when a repetitive minute interval ends at the end of an hour, in which case 60 is a legal end value.
  5. month (type: String.t, default: nil)
    -
  6. second (type: integer(), default: nil)
    - Valid range is 0-59, except when a repetitive second interval ends at the end of a minute, in which case 60 is a legal end value.
  7. week (type: integer(), default: nil)
    - Valid ranges are 0-5 and 1-53 (depending on the value of week_type, see below).
  8. weekType (type: String.t, default: nil)
    -
  9. year (type: integer(), default: nil)
    -

Type

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeEndpointProto{
day: integer() | nil,
dayType: String.t() | nil,
hour: integer() | nil,
minute: integer() | nil,
month: String.t() | nil,
second: integer() | nil,
week: integer() | nil,
weekType: String.t() | nil,
year: integer() | nil
}

Function

@spec decode(struct(), keyword()) :: struct()

Data sourced from HexDocs : GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeEndpointProto