package edu.harvard.iq.dataverse.authorization.providers;
import edu.harvard.iq.dataverse.authorization.AuthenticationProvider;
import java.util.Objects;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
* Database-storable form of an {@code AuthenticationProvider}.
* An instance of this class is translated to an actual {@link AuthenticationProvider}
* instance by the {@link AuthenticationProviderFactory} whose alias appears in
* {@link #factoryAlias}.
*
* @author michael
*/
@NamedQueries({
@NamedQuery( name="AuthenticationProviderRow.findAllEnabled",
query="SELECT r FROM AuthenticationProviderRow r WHERE r.enabled=true" ),
@NamedQuery( name="AuthenticationProviderRow.findAll",
query="SELECT r FROM AuthenticationProviderRow r" )
})
@Entity
@Table(indexes = {@Index(columnList="enabled")})
public class AuthenticationProviderRow implements java.io.Serializable {
@Id
private String id;
private String title;
private String subtitle;
private String factoryAlias;
private boolean enabled;
@Lob
private String factoryData;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSubtitle() {
return subtitle;
}
public void setSubtitle(String subtitle) {
this.subtitle = subtitle;
}
public String getFactoryAlias() {
return factoryAlias;
}
public void setFactoryAlias(String factoryAlias) {
this.factoryAlias = factoryAlias;
}
public String getFactoryData() {
return factoryData;
}
public void setFactoryData(String factoryData) {
this.factoryData = factoryData;
}
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@Override
public int hashCode() {
int hash = 7;
hash = 53 * hash + Objects.hashCode(this.id);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if ( !(obj instanceof AuthenticationProviderRow)) {
return false;
}
final AuthenticationProviderRow other = (AuthenticationProviderRow) obj;
return Objects.equals(this.id, other.id);
}
}