[ create a new paste ] login | about

Link: http://codepad.org/vhG255rq    [ raw code | fork ]

Plain Text, pasted on Apr 13:
import static java.util.Objects.requireNonNull;

import static com.aa.cleanwithus.util.ToStrings.toStringBuilder;

import java.io.Serializable;
import java.util.Objects;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.validation.constraints.NotNull;

import org.hibernate.annotations.Parameter;
import org.hibernate.annotations.Type;

import com.aa.cleanwithus.job.Job;

@Embeddable
public class ProviderStationJobType implements Serializable {
   private static final long serialVersionUID = -8583849717561589026L;

   @Type(
      type = "com.aa.cleanwithus.persist.type.ClassByDiscriminatorValueType",
      parameters = @Parameter(name = "class", value = "com.aa.cleanwithus.job.Job")
   )
   @Column(name = "psj_type", nullable = false)
   @NotNull
   private Class<? extends Job> type;

   @Column(name = "psj_category", length = 1, nullable = false)
   @NotNull
   private ProviderStationJobTypeCategory category;

   public ProviderStationJobType(){}
   public ProviderStationJobType(
      Class<? extends Job> type,
      ProviderStationJobTypeCategory category
   ){
      this.type = requireNonNull(type);
      this.category = requireNonNull(category);
   }

   @Override
   public boolean equals(Object obj) {
      if (this == obj) return true;
      if (!(obj instanceof ProviderStationJobType)) return false;

      ProviderStationJobType that = (ProviderStationJobType)obj;
      return Objects.equals(this.getType(), that.getType());
   }

   @Override
   public int hashCode() {
      return Objects.hash(getType());
   }

   @Override
   public String toString() {
      return toStringBuilder(this)
         .append("type",     getType())
         .append("category", getCategory())
      .build();
   }

   public Class<? extends Job> getType() {
      return type;
   }

   public void setType(Class<? extends Job> type) {
      this.type = requireNonNull(type);
   }

   public ProviderStationJobTypeCategory getCategory() {
      return category;
   }

   public void setCategory(ProviderStationJobTypeCategory category) {
      this.category = requireNonNull(category);
   }
}



Create a new paste based on this one


Comments: