@ThreadSafe public final class

JqlDateSupportImpl

extends Object
implements JqlDateSupport
java.lang.Object
   ↳ com.atlassian.jira.jql.util.JqlDateSupportImpl

Class Overview

Default implementation for JqlDateSupport

Summary

Public Constructors
JqlDateSupportImpl(Clock clock, TimeZoneManager timeZoneManager)
JqlDateSupportImpl(TimeZoneManager timeZoneManager)
Public Methods
Date convertToDate(String dateString)
Try to parse the passed date string using the formats that JQL understands.
Date convertToDate(String dateString, TimeZone timeZone)
Try to parse the passed date string using the formats that JQL understands.
Date convertToDate(Long dateLong)
Converts the long to a date.
DateRange convertToDateRange(Long dateLong)
Converts the long to a date range where both values equal each other.
DateRange convertToDateRangeWithImpliedPrecision(String dateString)
Try to parse the passed in date string using the formats that JQL understands.
String getDateString(Date date)
Return a string representation of the passed date.
String getDateString(Date date, TimeZone timeZone)
Return a string representation of the passed date.
static String getDurationString(long duration)
String getIndexedValue(Date date)
Converts a date into the index-friendly format.
boolean isDuration(String dateString)
Returns a boolean value indicating whether the passed date string representation has duration format, e.g., 4d 1h, -1w.
boolean validate(String dateString)
Check to see if the passed string is a valid date according to JQL.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.jql.util.JqlDateSupport

Public Constructors

public JqlDateSupportImpl (Clock clock, TimeZoneManager timeZoneManager)

public JqlDateSupportImpl (TimeZoneManager timeZoneManager)

Public Methods

public Date convertToDate (String dateString)

Try 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.

Parameters
dateString the string to parse. Cannot be null.
Returns
  • the parsed date or null if it cant be parsed. You did call validate(String) right?

public Date convertToDate (String dateString, TimeZone timeZone)

Try to parse the passed date string using the formats that JQL understands. It will use the passed time zone when parsing the date string.

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 validate(String) right?

public Date convertToDate (Long dateLong)

Converts the long to a date.

Parameters
dateLong the long to give back a date for . Cannot be null.
Returns
  • the parsed date.

public DateRange convertToDateRange (Long dateLong)

Converts the long to a date range where both values equal each other.

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

public DateRange convertToDateRangeWithImpliedPrecision (String dateString)

Try 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.

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 validate(String) right?

public String getDateString (Date date)

Return 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.

Parameters
date the date to convert. Cannot be null.
Returns
  • return the passed date as a string.

public String getDateString (Date date, TimeZone timeZone)

Return 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.

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.

public static String getDurationString (long duration)

public String getIndexedValue (Date date)

Converts a date into the index-friendly format.

Parameters
date the date
Returns
  • a string representing the date, ready for comparison to indexed values.

public boolean isDuration (String dateString)

Returns a boolean value indicating whether the passed date string representation has duration format, e.g., 4d 1h, -1w.

Parameters
dateString the string to parse.
Returns
  • true if the passed date string has duration format, false otherwise.

public boolean validate (String dateString)

Check to see if the passed string is a valid date according to JQL.

Parameters
dateString the string to check cannot be null.
Returns
  • true if the date is valid; false otherwise.