package com.eksad.masterdata.domain; import com.eksad.ddms.common.util.object.EntityObject; import com.eksad.ddms.common.util.status.DataStatus; import com.eksad.masterdata.common.listEnum.PromoSource; import jakarta.persistence.*; import javax.validation.constraints.NotNull; import java.util.Objects; @Entity @Table(name = "MST_PROMOAHASS") public class PromoAhass implements EntityObject<PromoAhass> { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) Integer id; @NotNull(message = "promoAhassID cannot be null") private String promoAhassID; @NotNull(message = "ahassID cannot be null") private String ahassID; @NotNull(message = "ahassName cannot be null") private String ahassName; @NotNull(message = "promoID cannot be null") private String promoID; @Enumerated(EnumType.STRING) private DataStatus promoAhassStatus; @Enumerated(EnumType.STRING) private PromoSource source; @Embedded private CreationalSpecification promoAhassCreational; public PromoAhass() { } public PromoAhass(String promoAhassID, String ahassID, String ahassName, String promoID, DataStatus promoAhassStatus, PromoSource source, CreationalSpecification promoAhassCreational) { this.promoAhassID = promoAhassID; this.ahassID = ahassID; this.ahassName = ahassName; this.promoID = promoID; this.promoAhassStatus = promoAhassStatus; this.source = source; this.promoAhassCreational = promoAhassCreational; } public DataStatus getPromoAhassStatus() { return promoAhassStatus; } public void setPromoAhassStatus(DataStatus promoAhassStatus) { this.promoAhassStatus = promoAhassStatus; } public CreationalSpecification getPromoAhassCreational() { return promoAhassCreational; } public void setPromoAhassCreational(CreationalSpecification promoAhassCreational) { this.promoAhassCreational = promoAhassCreational; } public PromoSource getSource() { return source; } public void setSource(PromoSource source) { this.source = source; } @Override public int hashCode() { int hash = 7; hash = 79 * hash + Objects.hashCode(this.id); hash = 79 * hash + Objects.hashCode(this.promoAhassID); hash = 79 * hash + Objects.hashCode(this.ahassID); hash = 79 * hash + Objects.hashCode(this.ahassName); hash = 79 * hash + Objects.hashCode(this.promoID); hash = 79 * hash + Objects.hashCode(this.promoAhassStatus); hash = 79 * hash + Objects.hashCode(this.promoAhassCreational); 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 PromoAhass other = (PromoAhass) obj; if (!Objects.equals(this.promoAhassID, other.promoAhassID)) { return false; } if (!Objects.equals(this.ahassID, other.ahassID)) { return false; } if (!Objects.equals(this.ahassName, other.ahassName)) { return false; } if (!Objects.equals(this.promoID, other.promoID)) { return false; } if (!Objects.equals(this.id, other.id)) { return false; } if (this.promoAhassStatus != other.promoAhassStatus) { return false; } if (!Objects.equals(this.promoAhassCreational, other.promoAhassCreational)) { return false; } return true; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getPromoAhassID() { return promoAhassID; } public void setPromoAhassID(String promoAhassID) { this.promoAhassID = promoAhassID; } public String getAhassID() { return ahassID; } public void setAhassID(String ahassID) { this.ahassID = ahassID; } public String getAhassName() { return ahassName; } public void setAhassName(String ahassName) { this.ahassName = ahassName; } public String getPromoID() { return promoID; } public void setPromoID(String promoID) { this.promoID = promoID; } @Override public boolean sameIdentityAs(PromoAhass t) { return this.equals(t); } }