1 /*global $k*/ 2 3 /** 4 * Constructs a FlexTime from the argument(s), which can be a Date object, another FlexTime, undefined, or component values. 5 * If undefined, all components of the returned FlexTime are undefined 6 * 7 * @param value Date or FlexTime or year component 8 * @param month Month number 9 * @param day Day number 10 * @param hours Hours 11 * @param minutes Minutes 12 * @example // All components are undefined 13 * new $k.FlexTime(); 14 * // Current date 15 * new $k.FlexTime(new Date()); 16 * // 2007-06-03 21:48 17 * new $k.FlexTime(2007, 6, 3, 21, 48); 18 * 19 * 20 * @class Represents a flexible date that allowes certain degrees of imprecision.A flextime attribute can restrict the degrees of imprecision. 21 * FlexTime has the following components, which can be set to an integer or undefined: 22 * year, month number, day number, hours, minutes. 23 * 24 **/ 25 $k.FlexTime = function(valueOrYear, month, day, hours, minutes) { }; 26 27 /** 28 * Returns true if the date is within the range of this flexible date 29 * 30 * @function 31 * @param {date} date 32 * @returns {boolean} 33 **/ 34 $k.FlexTime.prototype.coversDate = function(date) { }; 35 36 /** 37 * Returns true if the values are equal 38 * 39 * @function 40 * @returns {boolean} 41 **/ 42 $k.FlexTime.prototype.equals = function(value) { }; 43 44 /** 45 * Returns the number of the day, e.g. 18 for 2011-03-18 46 * 47 * @function 48 * @returns {number} 49 **/ 50 $k.FlexTime.prototype.getDayNumber = function() { }; 51 52 /** 53 * Returns the hours 54 * 55 * @function 56 * @returns {number} 57 **/ 58 $k.FlexTime.prototype.getHours = function() { }; 59 60 /** 61 * Returns the minutes 62 * 63 * @function 64 * @returns {number} 65 **/ 66 $k.FlexTime.prototype.getMinutes = function() { }; 67 68 /** 69 * Returns the number of the month. 70 * Unlike Date.prototype.month(), this is not the 0-based month index, 71 * so for January getMonthNumber() returns 1, not 0 72 * 73 * @function 74 * @returns {number} 75 **/ 76 $k.FlexTime.prototype.getMonthNumber = function() { }; 77 78 /** 79 * Returns the full year 80 * 81 * @function 82 * @returns {number} 83 **/ 84 $k.FlexTime.prototype.getYear = function() { }; 85 86 /** 87 * Returns the latest exact date that is within the range of this flexible date, e.g. 2007-03-31 23:59:59 for the flexible date 2007-03 88 * 89 * @function 90 * @returns {Date} 91 **/ 92 $k.FlexTime.prototype.maxDate = function() { }; 93 94 /** 95 * Returns the oldest exact date that is within the range of this flexible date, e.g. 2007-03-01 0:00:00 for the flexible date 2007-03 96 * 97 * @function 98 * @returns {Date} 99 **/ 100 $k.FlexTime.prototype.minDate = function() { }; 101 102 /** 103 * Sets the number of the day, e.g. 23 for 2012-05-23 104 * 105 * @function 106 * @param {number} day 107 **/ 108 $k.FlexTime.prototype.setDayNumber = function(day) { }; 109 110 /** 111 * Sets the hours 112 * 113 * @function 114 * @param {number} hours 115 **/ 116 $k.FlexTime.prototype.setHours = function(hours) { }; 117 118 /** 119 * Sets the minutes. 120 * 121 * @function 122 * @param {number} minutes 123 **/ 124 $k.FlexTime.prototype.setMinutes = function(minutes) { }; 125 126 /** 127 * Set the number of the month. 128 * Unlike Date.prototype.month(), this is not the 0-based month index, 129 * so for January pass 1 to setMonthNumber() , not 0. 130 * 131 * @function 132 * @param {number} month 133 **/ 134 $k.FlexTime.prototype.setMonthNumber = function(month) { }; 135 136 /** 137 * Sets all components of the FlexTime 138 * 139 * @function 140 * @param {number} year 141 * @param {number} month 142 * @param {number} day 143 * @param {number} hours 144 * @param {number} minutes 145 **/ 146 $k.FlexTime.prototype.setValues = function(year, month, day, hours, minutes) { }; 147 148 /** 149 * Sets the full year. The year is not modified, so setYear(99) sets the year 99, not 1999. 150 * 151 * @function 152 * @param {number} year 153 **/ 154 $k.FlexTime.prototype.setYear = function(year) { }; 155 156 /** 157 * Returns the string representation. Equivalent to valueString() 158 * 159 * @function 160 * @param {string} [language] Language of the value. If not defined, the current language will be used. 161 * Ignored if the attribute is not translated 162 * @returns {string} 163 * @throws {$k.exception.InvalidLanguage} If an invalid language was specified 164 **/ 165 $k.FlexTime.prototype.toString = function(language) { }; 166 167 /** 168 * Returns the string representation 169 * 170 * @function 171 * @param {string} [language] Language of the value. If not defined, the current language will be used. 172 * Ignored if the attribute is not translated 173 * @returns {string} 174 * @throws {$k.exception.InvalidLanguage} If an invalid language was specified 175 **/ 176 $k.FlexTime.prototype.valueString = function(language) { }; 177 178 /** 179 * Parse the date string. 180 * Use the parse() method of an attribute value range if possible, because it can check the allowed formats 181 * 182 * @function 183 * @param {string} string The string represantation of a FlexTime. 184 * @param {string} [language] Language of the value. If not defined, the current language will be used. 185 * Ignored if the attribute is not translated 186 * @returns {$k.FlexTime} The parsed FlexTime 187 * @throws {$k.exception.InvalidLanguage} If an invalid language was specified 188 **/ 189 $k.FlexTime.parse = function(string, language) { }; 190 191