Class DateRangeBuilder

java.lang.Object
net.sf.jasperreports.types.date.DateRangeBuilder

public class DateRangeBuilder extends Object

Builder which allows to build proper instance of DateRange

Usage example:

DateRange range = new DateRangeBuilder("DAY").set(TimeZone.getTimeZone("GMT")).setValueClass(Timestamp.class).toDateRange()
Author:
Sergey Prilukin
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor which allows to create DateRange instance from passed string expression.
    Constructor which allows to create DateRange instance from passed date instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the week start day used for WEEK expressions.
    set(Class<? extends Date> valueClass)
    Configuration method which sets value class, to indicate desired class of DateRange.getStart and DateRange.getEnd methods.
    set(Integer weekStartDay)
    Configuration method which set start of a week which will be used during DateRange.getStart and DateRange.getEnd calculations.
    set(String datePattern)
    Configuration method which sets date pattern which will be used to parse expression
    set(Locale locale)
    Configuration method which set start of a week which will be used during DateRange.getStart and DateRange.getEnd calculations from passed locale instance
    set(TimeZone timeZone)
    Configuration method which sets desired time zone which will be used to calculate DateRange.getStart and DateRange.getEnd.
    Returns instance of DateRange based on which configuration methods was called

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DateRangeBuilder

      public DateRangeBuilder(Date dateValue)

      Constructor which allows to create DateRange instance from passed date instance.

      No additional configuration via set methods is necessary

      Parameters:
      dateValue - date instance to create DateRange instance
    • DateRangeBuilder

      public DateRangeBuilder(String expression)

      Constructor which allows to create DateRange instance from passed string expression.

      It is usually necessary to pass additional configuration through set methods

      Parameters:
      expression - string expression which will be parsed in order to construct instance of DateRange
  • Method Details

    • set

      public DateRangeBuilder set(String datePattern)

      Configuration method which sets date pattern which will be used to parse expression

      NOTE: this method only will take effect if expression is in fact formatted date like "1970-01-01".

      Parameters:
      datePattern - date pattern which will be used to parse date
      Returns:
      this instance of DateRangeBuilder
      See Also:
    • set

      public DateRangeBuilder set(Class<? extends Date> valueClass)

      Configuration method which sets value class, to indicate desired class of DateRange.getStart and DateRange.getEnd methods.

      NOTE: this method will not take effect if DateRangeBuilder(java.util.Date) constructor was used.

      Parameters:
      valueClass - class instance of which will be returned by DateRange.getStart and DateRange.getEnd methods
      Returns:
      this instance of DateRangeBuilder
    • set

      public DateRangeBuilder set(TimeZone timeZone)

      Configuration method which sets desired time zone which will be used to calculate DateRange.getStart and DateRange.getEnd.

      NOTE: this method will not take effect if DateRangeBuilder(java.util.Date) constructor was used.

      Parameters:
      timeZone - time zone which will be used to calculate DateRange.getStart and DateRange.getStart.
      Returns:
      this instance of DateRangeBuilder
    • set

      public DateRangeBuilder set(Integer weekStartDay)

      Configuration method which set start of a week which will be used during DateRange.getStart and DateRange.getEnd calculations.

      Should be one of: Calendar.SUNDAY, Calendar.MONDAY

      NOTE: this method only will take effect if expression is in fact date range expression like "WEEK".

      Parameters:
      weekStartDay - week start day to calculate DateRange.getStart and DateRange.getEnd for expressions like "WEEK"
      Returns:
      this instance of DateRangeBuilder
    • getWeekStartDay

      public Integer getWeekStartDay()
      Returns the week start day used for WEEK expressions.
      Returns:
      the week start day
      See Also:
    • set

      public DateRangeBuilder set(Locale locale)

      Configuration method which set start of a week which will be used during DateRange.getStart and DateRange.getEnd calculations from passed locale instance

      NOTE: This method and set(Integer) will overwrite each other so configuration which was set later will be used.

      NOTE: this method only will take effect if expression is in fact date range expression like "WEEK".

      Parameters:
      locale - locale to calculate DateRange.getStart and DateRange.getEnd for expressions like "WEEK"
      Returns:
      this instance of DateRangeBuilder
    • toDateRange

      public DateRange toDateRange() throws InvalidDateRangeExpressionException
      Returns instance of DateRange based on which configuration methods was called
      Returns:
      instance of DateRange
      Throws:
      InvalidDateRangeExpressionException - if could not instantiate DateRange using passed expression