package gov.va.med.mpn.entity.pojo;
// Generated Sep 16, 2014 3:26:57 PM by Hibernate Tools 4.3.1


import java.util.Date;
import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.apache.commons.lang.StringUtils;

/**
 * CodedControlData generated by hbm2java
  */
@MappedSuperclass
@SuppressWarnings("serial")
public abstract class CodedControlDataCore implements java.io.Serializable {


     private String uuid;
     private Classification classification;
     private Category category;
     private Date dateCreated;
     private String createdBy;
     private Date dateModified;
     private String modifiedBy;
     private String controlName;
     private String description;
     private Boolean valid;

    public CodedControlDataCore() {
    }

	
    public CodedControlDataCore(String uuid, Classification classification, Category category, Date dateCreated, String createdBy, String controlName, String description, Boolean valid) {
        this.uuid = uuid;
        this.classification = classification;
        this.category = category;
        this.dateCreated = dateCreated;
        this.createdBy = createdBy;
        this.controlName = controlName;
        this.description = description;
        this.valid = valid;
    }
    public CodedControlDataCore(String uuid, Classification classification, Category category, Date dateCreated, String createdBy, Date dateModified, String modifiedBy, String controlName, String description, Boolean valid) {
       this.uuid = uuid;
       this.classification = classification;
       this.category = category;
       this.dateCreated = dateCreated;
       this.createdBy = createdBy;
       this.dateModified = dateModified;
       this.modifiedBy = modifiedBy;
       this.controlName = controlName;
       this.description = description;
       this.valid = valid;
    }
   
     @Id 

    
    @Column(name="UUID", nullable=false, length=36)
    public String getUuid() {
			return StringUtils.trim(this.uuid);
    }
    
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="class_id", nullable=false)
    public Classification getClassification() {
	        return this.classification;
    }
    
    public void setClassification(Classification classification) {
        this.classification = classification;
    }

@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="category_id", nullable=false)
    public Category getCategory() {
	        return this.category;
    }
    
    public void setCategory(Category category) {
        this.category = category;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="date_created", nullable=false, length=23)
    public Date getDateCreated() {
	        return this.dateCreated;
    }
    
    public void setDateCreated(Date dateCreated) {
        this.dateCreated = dateCreated;
    }

    
    @Column(name="created_by", nullable=false, length=50)
    public String getCreatedBy() {
			return StringUtils.trim(this.createdBy);
    }
    
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="date_modified", length=23)
    public Date getDateModified() {
	        return this.dateModified;
    }
    
    public void setDateModified(Date dateModified) {
        this.dateModified = dateModified;
    }

    
    @Column(name="modified_by", length=50)
    public String getModifiedBy() {
			return StringUtils.trim(this.modifiedBy);
    }
    
    public void setModifiedBy(String modifiedBy) {
        this.modifiedBy = modifiedBy;
    }

    
    @Column(name="control_name", unique=true, nullable=false, length=100)
    public String getControlName() {
			return StringUtils.trim(this.controlName);
    }
    
    public void setControlName(String controlName) {
        this.controlName = controlName;
    }

    
    @Column(name="description", nullable=false)
    public String getDescription() {
			return StringUtils.trim(this.description);
    }
    
    public void setDescription(String description) {
        this.description = description;
    }

    
    @Column(name="valid", nullable=false)
    public Boolean getValid() {
	        return this.valid;
    }
    
    public void setValid(Boolean valid) {
        this.valid = valid;
    }




}


