package com.eksad.masterdata.domain; import com.eksad.ddms.common.util.object.EntityObject; import com.eksad.ddms.common.util.status.DataStatus; import jakarta.persistence.*; import javax.validation.constraints.NotNull; import java.util.Objects; @Entity @Table(name = "MST_PROMOAREA") public class PromoArea implements EntityObject<PromoArea> { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) Integer id; @NotNull(message = "promo Area id cannot be null") private String promoAreaID; @NotNull(message = "Area id cannot be null") private String areaID; @NotNull(message = "Ahass Name cannot be null") private String areaName; @NotNull(message = "promo id cannot be null") private String promoID; @Enumerated(EnumType.STRING) private DataStatus promoAreaStatus; @Embedded private CreationalSpecification promoAreaCreational; public PromoArea() { } public PromoArea(String promoAreaID, String areaID, String areaName, String promoID, DataStatus promoAreaStatus, CreationalSpecification promoAreaCreational) { this.promoAreaID = promoAreaID; this.areaID = areaID; this.areaName = areaName; this.promoID = promoID; this.promoAreaStatus = promoAreaStatus; this.promoAreaCreational = promoAreaCreational; } public String getPromoAreaID() { return promoAreaID; } public void setPromoAreaID(String promoAreaID) { this.promoAreaID = promoAreaID; } public String getAreaID() { return areaID; } public void setAreaID(String areaID) { this.areaID = areaID; } public String getPromoID() { return promoID; } public void setPromoID(String promoID) { this.promoID = promoID; } public DataStatus getPromoAreaStatus() { return promoAreaStatus; } public void setPromoAreaStatus(DataStatus promoAreaStatus) { this.promoAreaStatus = promoAreaStatus; } public CreationalSpecification getPromoAreaCreational() { return promoAreaCreational; } public void setPromoAreaCreational(CreationalSpecification promoAreaCreational) { this.promoAreaCreational = promoAreaCreational; } public String getAreaName() { return areaName; } public void setAreaName(String areaName) { this.areaName = areaName; } @Override public int hashCode() { int hash = 5; hash = 59 * hash + Objects.hashCode(this.id); hash = 59 * hash + Objects.hashCode(this.promoAreaID); hash = 59 * hash + Objects.hashCode(this.areaID); hash = 59 * hash + Objects.hashCode(this.areaName); hash = 59 * hash + Objects.hashCode(this.promoID); hash = 59 * hash + Objects.hashCode(this.promoAreaStatus); hash = 59 * hash + Objects.hashCode(this.promoAreaCreational); return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final PromoArea other = (PromoArea) obj; if (!Objects.equals(this.promoAreaID, other.promoAreaID)) { return false; } if (!Objects.equals(this.areaID, other.areaID)) { return false; } if (!Objects.equals(this.areaName, other.areaName)) { return false; } if (!Objects.equals(this.promoID, other.promoID)) { return false; } if (!Objects.equals(this.id, other.id)) { return false; } if (this.promoAreaStatus != other.promoAreaStatus) { return false; } if (!Objects.equals(this.promoAreaCreational, other.promoAreaCreational)) { return false; } return true; } @Override public boolean sameIdentityAs(PromoArea t) { return this.equals(t); } }