/**
* =============================================================================
*
* ORCID (R) Open Source
* http://orcid.org
*
* Copyright (c) 2012-2014 ORCID, Inc.
* Licensed under an MIT-Style License (MIT)
* http://orcid.org/open-source-license
*
* This copyright and license information (including a link to the full license)
* shall be included in its entirety in all copies or substantial portion of
* the software.
*
* =============================================================================
*/
package org.orcid.persistence.jpa.entities;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
* @author Will Simpson
*/
@Entity
@Table(name = "identity_provider")
public class IdentityProviderEntity extends BaseEntity<Long> {
private static final long serialVersionUID = 1L;
private Long id;
private String providerid;
private String displayName;
private String supportEmail;
private String adminEmail;
private String techEmail;
private Date lastFailed;
private int failedCount;
private List<IdentityProviderNameEntity> names;
@Override
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "identity_provider_seq")
@SequenceGenerator(name = "identity_provider_seq", sequenceName = "identity_provider_seq")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getProviderid() {
return providerid;
}
public void setProviderid(String providerid) {
this.providerid = providerid;
}
@Column(name = "display_name")
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
@Column(name = "support_email")
public String getSupportEmail() {
return supportEmail;
}
public void setSupportEmail(String supportEmail) {
this.supportEmail = supportEmail;
}
@Column(name = "admin_email")
public String getAdminEmail() {
return adminEmail;
}
public void setAdminEmail(String adminEmail) {
this.adminEmail = adminEmail;
}
@Column(name = "tech_email")
public String getTechEmail() {
return techEmail;
}
public void setTechEmail(String techEmail) {
this.techEmail = techEmail;
}
@Column(name = "last_failed")
public Date getLastFailed() {
return lastFailed;
}
public void setLastFailed(Date lastFailed) {
this.lastFailed = lastFailed;
}
@Column(name = "failed_count")
public int getFailedCount() {
return failedCount;
}
public void setFailedCount(int failedCount) {
this.failedCount = failedCount;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "identityProvider", orphanRemoval = true)
public List<IdentityProviderNameEntity> getNames() {
return names;
}
public void setNames(List<IdentityProviderNameEntity> names) {
this.names = names;
}
@Override
public String toString() {
return toShortString();
}
public String toShortString() {
return "IdentityProviderEntity [providerid=" + providerid + ", displayName=" + displayName + ", supportEmail=" + supportEmail + ", adminEmail=" + adminEmail
+ ", techEmail=" + techEmail + "]";
}
}