Class DateRangeBuilder
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
ConstructorsConstructorDescriptionDateRangeBuilder(String expression) Constructor which allows to create DateRange instance from passed string expression.DateRangeBuilder(Date dateValue) Constructor which allows to create DateRange instance from passed date instance. -
Method Summary
Modifier and TypeMethodDescriptionReturns the week start day used forWEEKexpressions.Configuration method which sets value class, to indicate desired class of DateRange.getStart and DateRange.getEnd methods.Configuration method which set start of a week which will be used during DateRange.getStart and DateRange.getEnd calculations.Configuration method which sets date pattern which will be used to parse expressionConfiguration method which set start of a week which will be used during DateRange.getStart and DateRange.getEnd calculations from passed locale instanceConfiguration method which sets desired time zone which will be used to calculate DateRange.getStart and DateRange.getEnd.Returns instance ofDateRangebased on which configuration methods was called
-
Constructor Details
-
DateRangeBuilder
Constructor which allows to create DateRange instance from passed date instance.
No additional configuration via
setmethods is necessary- Parameters:
dateValue- date instance to create DateRange instance
-
DateRangeBuilder
Constructor which allows to create DateRange instance from passed string expression.
It is usually necessary to pass additional configuration through
setmethods- Parameters:
expression- string expression which will be parsed in order to construct instance of DateRange
-
-
Method Details
-
set
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
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
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
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.MONDAYNOTE: 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
Returns the week start day used forWEEKexpressions.- Returns:
- the week start day
- See Also:
-
set
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
Returns instance ofDateRangebased on which configuration methods was called- Returns:
- instance of
DateRange - Throws:
InvalidDateRangeExpressionException- if could not instantiateDateRangeusing passed expression
-