package de.passau.uni.sec.compose.id.core.persistence.entities;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Entity
@Table(name = "\"AttributeValue\"")
public class AttributeValue extends AbstractMultiInstanceRelationship implements IAttributeValue {
/**
*
*/
private static final long serialVersionUID = 4395801897630647400L;
/**
* Map to entity type. See AbstractMultiInstanceRelationship too.
*/
public static final String USER = "user";
@ManyToOne
@JoinColumn(name = "user_fk")
private User user;
@NotNull
@ManyToOne
@JoinColumn(name = "attributeDefinition_fk")
private AttributeDefinition definition;
@NotNull
private String value;
private boolean approved;
private String approvedBy;
public AttributeDefinition getDefinition() {
return definition;
}
public void setDefinition(AttributeDefinition definition) {
this.definition = definition;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public boolean isApproved() {
return approved;
}
public void setApproved(boolean approved) {
this.approved = approved;
}
public String getApprovedBy() {
return approvedBy;
}
public void setApprovedBy(String approvedBy) {
this.approvedBy = approvedBy;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String getEnityId()
{
if(user != null)
return user.getId();
return super.getEnityId();
}
@Override
public String getEntityType()
{
if(user != null)
return USER;
return super.getEntityType();
}
@Override
public CoreEntity getEntity()
{
if(user != null)
return user;
return super.getEntity();
}
}