All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.deepdreams.worker.api.dtos.BenefitDTO Maven / Gradle / Ivy

There is a newer version: 0.1.1-RELEASE
Show newest version
package tech.deepdreams.worker.api.dtos;

import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.time.LocalDate;
import tech.deepdreams.worker.api.dtos.BenefitCategoryDTO;
import tech.deepdreams.worker.api.dtos.ElementDTO;
import tech.deepdreams.worker.api.dtos.EmployeeDTO;
import org.openapitools.jackson.nullable.JsonNullable;

/**
 * BenefitDTO
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-09-14T12:54:23.701675700-04:00[America/Toronto]")
public class BenefitDTO   {
  @JsonProperty("id")
  private Long id;

  @JsonProperty("employee")
  private EmployeeDTO employee;

  @JsonProperty("element")
  private ElementDTO element;

  @JsonProperty("benefitCategory")
  private BenefitCategoryDTO benefitCategory;

  @JsonProperty("attributionDate")
  @org.springframework.format.annotation.DateTimeFormat(iso = org.springframework.format.annotation.DateTimeFormat.ISO.DATE)
  private LocalDate attributionDate;

  @JsonProperty("revocationDate")
  @org.springframework.format.annotation.DateTimeFormat(iso = org.springframework.format.annotation.DateTimeFormat.ISO.DATE)
  private LocalDate revocationDate;

  @JsonProperty("suspensionDate")
  @org.springframework.format.annotation.DateTimeFormat(iso = org.springframework.format.annotation.DateTimeFormat.ISO.DATE)
  private LocalDate suspensionDate;

  @JsonProperty("givenInKind")
  private Boolean givenInKind;

  @JsonProperty("amount")
  private BigDecimal amount;

  @JsonProperty("number")
  private Integer number;

  @JsonProperty("motivation")
  private String motivation;

  @JsonProperty("customLabel")
  private String customLabel;

  @JsonProperty("status")
  private String status;

  public BenefitDTO id(Long id) {
    this.id = id;
    return this;
  }

  /**
   * Get id
   * @return id
  */
  @ApiModelProperty(value = "")
  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public BenefitDTO employee(EmployeeDTO employee) {
    this.employee = employee;
    return this;
  }

  /**
   * Get employee
   * @return employee
  */
  @ApiModelProperty(value = "")
  public EmployeeDTO getEmployee() {
    return employee;
  }

  public void setEmployee(EmployeeDTO employee) {
    this.employee = employee;
  }

  public BenefitDTO element(ElementDTO element) {
    this.element = element;
    return this;
  }

  /**
   * Get element
   * @return element
  */
  @ApiModelProperty(value = "")
  public ElementDTO getElement() {
    return element;
  }

  public void setElement(ElementDTO element) {
    this.element = element;
  }

  public BenefitDTO benefitCategory(BenefitCategoryDTO benefitCategory) {
    this.benefitCategory = benefitCategory;
    return this;
  }

  /**
   * Get benefitCategory
   * @return benefitCategory
  */
  @ApiModelProperty(value = "")
  public BenefitCategoryDTO getBenefitCategory() {
    return benefitCategory;
  }

  public void setBenefitCategory(BenefitCategoryDTO benefitCategory) {
    this.benefitCategory = benefitCategory;
  }

  public BenefitDTO attributionDate(LocalDate attributionDate) {
    this.attributionDate = attributionDate;
    return this;
  }

  /**
   * Get attributionDate
   * @return attributionDate
  */
  @ApiModelProperty(value = "")
  public LocalDate getAttributionDate() {
    return attributionDate;
  }

  public void setAttributionDate(LocalDate attributionDate) {
    this.attributionDate = attributionDate;
  }

  public BenefitDTO revocationDate(LocalDate revocationDate) {
    this.revocationDate = revocationDate;
    return this;
  }

  /**
   * Get revocationDate
   * @return revocationDate
  */
  @ApiModelProperty(value = "")
  public LocalDate getRevocationDate() {
    return revocationDate;
  }

  public void setRevocationDate(LocalDate revocationDate) {
    this.revocationDate = revocationDate;
  }

  public BenefitDTO suspensionDate(LocalDate suspensionDate) {
    this.suspensionDate = suspensionDate;
    return this;
  }

  /**
   * Get suspensionDate
   * @return suspensionDate
  */
  @ApiModelProperty(value = "")
  public LocalDate getSuspensionDate() {
    return suspensionDate;
  }

  public void setSuspensionDate(LocalDate suspensionDate) {
    this.suspensionDate = suspensionDate;
  }

  public BenefitDTO givenInKind(Boolean givenInKind) {
    this.givenInKind = givenInKind;
    return this;
  }

  /**
   * Get givenInKind
   * @return givenInKind
  */
  @ApiModelProperty(value = "")
  public Boolean getGivenInKind() {
    return givenInKind;
  }

  public void setGivenInKind(Boolean givenInKind) {
    this.givenInKind = givenInKind;
  }

  public BenefitDTO amount(BigDecimal amount) {
    this.amount = amount;
    return this;
  }

  /**
   * Get amount
   * @return amount
  */
  @ApiModelProperty(value = "")
  public BigDecimal getAmount() {
    return amount;
  }

  public void setAmount(BigDecimal amount) {
    this.amount = amount;
  }

  public BenefitDTO number(Integer number) {
    this.number = number;
    return this;
  }

  /**
   * Get number
   * @return number
  */
  @ApiModelProperty(value = "")
  public Integer getNumber() {
    return number;
  }

  public void setNumber(Integer number) {
    this.number = number;
  }

  public BenefitDTO motivation(String motivation) {
    this.motivation = motivation;
    return this;
  }

  /**
   * Get motivation
   * @return motivation
  */
  @ApiModelProperty(value = "")
  public String getMotivation() {
    return motivation;
  }

  public void setMotivation(String motivation) {
    this.motivation = motivation;
  }

  public BenefitDTO customLabel(String customLabel) {
    this.customLabel = customLabel;
    return this;
  }

  /**
   * Get customLabel
   * @return customLabel
  */
  @ApiModelProperty(value = "")
  public String getCustomLabel() {
    return customLabel;
  }

  public void setCustomLabel(String customLabel) {
    this.customLabel = customLabel;
  }

  public BenefitDTO status(String status) {
    this.status = status;
    return this;
  }

  /**
   * Get status
   * @return status
  */
  @ApiModelProperty(value = "")
  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    BenefitDTO benefit = (BenefitDTO) o;
    return Objects.equals(this.id, benefit.id) &&
        Objects.equals(this.employee, benefit.employee) &&
        Objects.equals(this.element, benefit.element) &&
        Objects.equals(this.benefitCategory, benefit.benefitCategory) &&
        Objects.equals(this.attributionDate, benefit.attributionDate) &&
        Objects.equals(this.revocationDate, benefit.revocationDate) &&
        Objects.equals(this.suspensionDate, benefit.suspensionDate) &&
        Objects.equals(this.givenInKind, benefit.givenInKind) &&
        Objects.equals(this.amount, benefit.amount) &&
        Objects.equals(this.number, benefit.number) &&
        Objects.equals(this.motivation, benefit.motivation) &&
        Objects.equals(this.customLabel, benefit.customLabel) &&
        Objects.equals(this.status, benefit.status);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, employee, element, benefitCategory, attributionDate, revocationDate, suspensionDate, givenInKind, amount, number, motivation, customLabel, status);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class BenefitDTO {\n");
    
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    employee: ").append(toIndentedString(employee)).append("\n");
    sb.append("    element: ").append(toIndentedString(element)).append("\n");
    sb.append("    benefitCategory: ").append(toIndentedString(benefitCategory)).append("\n");
    sb.append("    attributionDate: ").append(toIndentedString(attributionDate)).append("\n");
    sb.append("    revocationDate: ").append(toIndentedString(revocationDate)).append("\n");
    sb.append("    suspensionDate: ").append(toIndentedString(suspensionDate)).append("\n");
    sb.append("    givenInKind: ").append(toIndentedString(givenInKind)).append("\n");
    sb.append("    amount: ").append(toIndentedString(amount)).append("\n");
    sb.append("    number: ").append(toIndentedString(number)).append("\n");
    sb.append("    motivation: ").append(toIndentedString(motivation)).append("\n");
    sb.append("    customLabel: ").append(toIndentedString(customLabel)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy