package uk.ac.cam.echo.server.models;
import org.codehaus.jackson.annotate.JsonCreator;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import uk.ac.cam.echo.data.Conversation;
import uk.ac.cam.echo.data.Tag;
import uk.ac.cam.echo.server.serializers.TagSerializer;
import javax.persistence.*;
import java.util.Map;
import java.util.Set;
@JsonSerialize(using = TagSerializer.class)
@Entity
@Table(name="Tags")
public class TagModel extends BaseModel implements Tag {
public TagModel() {
}
private static String[] allowed = {"name"};
@JsonCreator
public TagModel(Map<String, Object> props) {
super(props, allowed);
}
@Id
@GeneratedValue(strategy= GenerationType.SEQUENCE, generator="ConversationIdSeq")
@SequenceGenerator(name="ConversationIdSeq", sequenceName="Conversation_SEQ", allocationSize=1)
private long id;
private String name;
@ManyToMany(mappedBy = "tags", targetEntity = ConversationModel.class)
private Set<Conversation> conversationSet;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set<Conversation> getConversationSet() {
return conversationSet;
}
public void setConversationSet(Set<Conversation> conversationSet) {
this.conversationSet = conversationSet;
}
}