Rev 33136 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.model;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;public class DateRangeModel implements java.io.Serializable {private static final long serialVersionUID = 1L;LocalDateTime startDate;LocalDateTime endDate;public static DateRangeModel withEndDate(LocalDateTime endDate) {DateRangeModel drm = new DateRangeModel();drm.setEndDate(endDate);return drm;}public static DateRangeModel withStartDate(LocalDateTime startDate) {DateRangeModel drm = new DateRangeModel();drm.setStartDate(startDate);return drm;}public static DateRangeModel ofDate(LocalDate date) {DateRangeModel drm = new DateRangeModel();drm.setStartDate(date.atStartOfDay());drm.setEndDate(date.atTime(LocalTime.MAX));return drm;}public static DateRangeModel of(LocalDateTime startDate, LocalDateTime endDate) {DateRangeModel drm = new DateRangeModel();drm.setEndDate(endDate);drm.setStartDate(startDate);return drm;}public LocalDateTime getStartDate() {return startDate;}public void setStartDate(LocalDateTime startDate) {this.startDate = startDate;}public LocalDateTime getEndDate() {return endDate;}public void setEndDate(LocalDateTime endDate) {this.endDate = endDate;}public boolean contains(LocalDateTime dateTime) {boolean afterOrEqualStartDate = startDate == null || dateTime.isAfter(startDate) || dateTime.isEqual(startDate);boolean beforeOrEqualEndDate = endDate == null || dateTime.isBefore(endDate) || dateTime.isEqual(endDate);return afterOrEqualStartDate && beforeOrEqualEndDate;}@Overridepublic String toString() {return "DateRangeModel [startDate=" + startDate + ", endDate=" + endDate + "]";}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;DateRangeModel other = (DateRangeModel) obj;if (endDate == null) {if (other.endDate != null)return false;} else if (!endDate.equals(other.endDate))return false;if (startDate == null) {if (other.startDate != null)return false;} else if (!startDate.equals(other.startDate))return false;return true;}}