Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.model;import java.util.Collections;import java.util.List;import java.util.Objects;import java.util.stream.Collectors;public class TodayOfferGroupKey {private final List<Integer> catalogOfferIds;private final List<Integer> schemeOfferIds;private final List<Integer> customerOfferIds;private final List<Integer> webOfferIds;public TodayOfferGroupKey(TodayOfferModel m) {this.catalogOfferIds = safe(m.getTodayCatalogOfferModels()).stream().map(TodayCatalogOfferModel::getOfferId).sorted().collect(Collectors.toList());this.schemeOfferIds = safe(m.getSchemeOfferModels()).stream().map(SchemeOfferModel::getSchemeId).sorted().collect(Collectors.toList());this.customerOfferIds = safe(m.getCustomerOfferItemModels()).stream().map(CustomerOfferItemModel::getOfferId).sorted().collect(Collectors.toList());this.webOfferIds = safe(m.getWebOfferModels()).stream().map(WebOfferModel::getId).sorted().collect(Collectors.toList());}private <T> List<T> safe(List<T> list) {return list == null ? Collections.emptyList() : list;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (!(o instanceof TodayOfferGroupKey)) return false;TodayOfferGroupKey that = (TodayOfferGroupKey) o;return Objects.equals(catalogOfferIds, that.catalogOfferIds)&& Objects.equals(schemeOfferIds, that.schemeOfferIds)&& Objects.equals(customerOfferIds, that.customerOfferIds)&& Objects.equals(webOfferIds, that.webOfferIds);}@Overridepublic int hashCode() {return Objects.hash(catalogOfferIds,schemeOfferIds,customerOfferIds,webOfferIds);}}