package net.curisit.securis.db; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; /** * Entity implementation class for Entity: application_metadata * */ @JsonAutoDetect @JsonInclude(Include.NON_NULL) @Entity @Table(name = "application_metadata") @NamedQueries({ @NamedQuery(name = "list-application-metadata", query = "SELECT a FROM ApplicationMetadata a where a.application.id = :applicationId") }) public class ApplicationMetadata implements Serializable { private static final long serialVersionUID = 1L; @JsonIgnore @Id @ManyToOne @JoinColumn(name = "application_id") private Application application; @Id private String key; private String value; private boolean mandatory; @Column(name = "creation_timestamp") private Date creationTimestamp; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public Application getApplication() { return application; } public void setApplication(Application application) { this.application = application; } public Date getCreationTimestamp() { return creationTimestamp; } public void setCreationTimestamp(Date creationTimestamp) { this.creationTimestamp = creationTimestamp; } @JsonProperty("application_id") public Integer getApplicationId() { return application == null ? null : application.getId(); } @JsonProperty("application_id") public void setApplicationId(Integer idApplication) { if (idApplication == null) { application = null; } else { application = new Application(); application.setId(idApplication); } } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public boolean isMandatory() { return mandatory; } public void setMandatory(boolean mandatory) { this.mandatory = mandatory; } @Override public boolean equals(Object obj) { if (!(obj instanceof ApplicationMetadata)) return false; ApplicationMetadata other = (ApplicationMetadata) obj; return key.equals(other.key) && (application == null || application.equals(other.application)); } @Override public int hashCode() { return key.hashCode() + (application == null ? 0 : application.hashCode()); } }