Package com.atlassian.jira.jql.util
Class JqlDateSupportImpl
java.lang.Object
com.atlassian.jira.jql.util.JqlDateSupportImpl
- All Implemented Interfaces:
JqlDateSupport
Default implementation for
JqlDateSupport- Since:
- v4.0
-
Constructor Summary
ConstructorsConstructorDescriptionJqlDateSupportImpl(TimeZoneManager timeZoneManager) JqlDateSupportImpl(Clock clock, TimeZoneManager timeZoneManager) -
Method Summary
Modifier and TypeMethodDescriptionconvertToDate(Long dateLong) Converts the long to a date.convertToDate(String dateString) Try to parse the passed date string using the formats that JQL understands.convertToDate(String dateString, TimeZone timeZone) Try to parse the passed date string using the formats that JQL understands.convertToDateRange(Long dateLong) Converts the long to a date range where both values equal each other.convertToDateRangeWithImpliedPrecision(String dateString) Try to parse the passed in date string using the formats that JQL understands.getDateString(Date date) Return a string representation of the passed date.getDateString(Date date, TimeZone timeZone) Return a string representation of the passed date.static StringgetDurationString(long duration) booleanisDuration(String dateString) Returns a boolean value indicating whether the passed date string representation has duration format, e.g., 4d 1h, -1w.booleanCheck to see if the passed string is a valid date according to JQL.
-
Constructor Details
-
JqlDateSupportImpl
-
JqlDateSupportImpl
-
-
Method Details
-
convertToDate
Description copied from interface:JqlDateSupportTry to parse the passed date string using the formats that JQL understands. It will consider the user's time zone when parsing the date string.- Specified by:
convertToDatein interfaceJqlDateSupport- Parameters:
dateString- the string to parse. Cannot be null.- Returns:
- the parsed date or null if it cant be parsed. You did call
JqlDateSupport.validate(String)right?
-
convertToDate
Description copied from interface:JqlDateSupportTry to parse the passed date string using the formats that JQL understands. It will use the passed time zone when parsing the date string.- Specified by:
convertToDatein interfaceJqlDateSupport- Parameters:
dateString- the string to parse. Cannot be null.timeZone- time zone to use when parsing.- Returns:
- the parsed date or null if it cant be parsed. You did call
JqlDateSupport.validate(String)right?
-
convertToDateRangeWithImpliedPrecision
Description copied from interface:JqlDateSupportTry to parse the passed in date string using the formats that JQL understands. It will consider the user's time zone when parsing the date string.It will eamine the single input string and use the implied precision to create the range
If you provide only a year/month/day it will have a precision of 24 hours, ie from the start of the day to the end of the day
If you supply year/month/day hour/minute, it will have a precision of 1 minute, ie from the start of the minute to the end of the minute.
- Specified by:
convertToDateRangeWithImpliedPrecisionin interfaceJqlDateSupport- Parameters:
dateString- the string to parse. Cannot be null.- Returns:
- the parsed datetime as a range using the implied precision. Or null if the date cant be parsed. You did
call
JqlDateSupport.validate(String)right?
-
convertToDate
Description copied from interface:JqlDateSupportConverts the long to a date.- Specified by:
convertToDatein interfaceJqlDateSupport- Parameters:
dateLong- the long to give back a date for . Cannot be null.- Returns:
- the parsed date.
-
convertToDateRange
Description copied from interface:JqlDateSupportConverts the long to a date range where both values equal each other.- Specified by:
convertToDateRangein interfaceJqlDateSupport- Parameters:
dateLong- the long to give back a date for . Cannot be null.- Returns:
- the parsed date twice. Mostly for symmetry to calling code since JQL can have both long and string representations of values
-
validate
Description copied from interface:JqlDateSupportCheck to see if the passed string is a valid date according to JQL.- Specified by:
validatein interfaceJqlDateSupport- Parameters:
dateString- the string to check cannot be null.- Returns:
- true if the date is valid; false otherwise.
-
getDateString
Description copied from interface:JqlDateSupportReturn a string representation of the passed date. This method should just convert the date into its parseable String representation. The user's time zone will be used when formatting the date string.- Specified by:
getDateStringin interfaceJqlDateSupport- Parameters:
date- the date to convert. Cannot be null.- Returns:
- return the passed date as a string.
-
getDateString
Description copied from interface:JqlDateSupportReturn a string representation of the passed date. This method should just convert the date into its parseable String representation. The passed time zone will be used when formatting the date string.- Specified by:
getDateStringin interfaceJqlDateSupport- Parameters:
date- the date to convert. Cannot be null.timeZone- time zone to use. Cannot be null.- Returns:
- return the passed date as a string.
-
isDuration
Description copied from interface:JqlDateSupportReturns a boolean value indicating whether the passed date string representation has duration format, e.g., 4d 1h, -1w.- Specified by:
isDurationin interfaceJqlDateSupport- Parameters:
dateString- the string to parse.- Returns:
- true if the passed date string has duration format, false otherwise.
-
getDurationString
-