View: Hide Browser | Browser on the left | Browser on the right | Dictionary
Report:General Info | Attributes | Operations | Constraints

Parent Package: primitive
Class C_DATE


C_PRIMITIVE
   |
   +--C_DATE

ISO 8601-compatible constraint on instances of Date in the form either of a set of validity values, or an actual date range. There is no validity flag for ‘year’, since it must always be by definition mandatory in order to have a sensible date at all. Syntax expressions of instances of this class include “YYYY-??-??” (date with optional month and day).

Attributes
SignatureOptionalityMultiplicityConstantDocumentation
 assumed_value : Date 0..1  --  The value to assume if this item is not included in data, due to being part of an optional structure. 
 day_validity : VALIDITY_KIND 0..1  --  Validity of day in constrained date. 
 month_validity : VALIDITY_KIND 0..1  --  Validity of month in constrained date. 
 range : Interval<Date> 0..1  --  Interval of Dates specifying constraint 
 timezone_validity : VALIDITY_KIND 0..1  --  Validity of timezone in constrained date. 


Operations
SignatureConstraintsDocumentation
 validity_is_range() : Boolean  True if validity is in the form of a range; useful for developers to check which kind of constraint has been set. 

Constraints
NameExpression
validity_is_rangeinv: validity_is_range = (range <> Void) 
month_validity_optionalinv: month_validity = VALIDITY_KIND.optional implies (day_validity = VALIDITY_KIND.optional or day_validity = VALIDITY_KIND.disallowed) 
month_validity_disallowedinv: month_validity = {VALIDITY_KIND}.disallowed implies day_validity = {VALIDITY_KIND}.disallowed