package io.lumify.sql.model.workspace;
import io.lumify.core.model.workspace.Workspace;
import io.lumify.sql.model.user.SqlUser;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "workspace")
public class SqlWorkspace implements Workspace {
private String workspaceId;
private String displayTitle;
private SqlUser workspaceCreator;
private List<SqlWorkspaceUser> sqlWorkspaceUserList = new ArrayList<SqlWorkspaceUser>();
private List<SqlWorkspaceVertex> sqlWorkspaceVertices = new ArrayList<SqlWorkspaceVertex>();
@Override
@Id
@Column(name = "workspace_id", unique = true)
public String getWorkspaceId() {
return workspaceId;
}
public void setWorkspaceId(String workspaceId) {
this.workspaceId = workspaceId;
}
@Override
@Column(name = "display_title")
public String getDisplayTitle() {
return displayTitle;
}
public void setDisplayTitle(String displayTitle) {
this.displayTitle = displayTitle;
}
@OneToOne
@JoinColumn(referencedColumnName = "user_id", name = "creator_user_id")
public SqlUser getWorkspaceCreator() {
return workspaceCreator;
}
public void setWorkspaceCreator(SqlUser workspaceCreator) {
this.workspaceCreator = workspaceCreator;
}
@OneToMany(fetch = FetchType.LAZY, mappedBy = "sqlWorkspaceUser.workspace", cascade = CascadeType.ALL)
public List<SqlWorkspaceUser> getSqlWorkspaceUserList() {
return sqlWorkspaceUserList;
}
public void setSqlWorkspaceUserList(List<SqlWorkspaceUser> sqlWorkspaceUserList) {
this.sqlWorkspaceUserList = sqlWorkspaceUserList;
}
@OneToMany(fetch = FetchType.LAZY, mappedBy = "workspace", cascade = CascadeType.ALL)
public List<SqlWorkspaceVertex> getSqlWorkspaceVertices() {
return sqlWorkspaceVertices;
}
public void setSqlWorkspaceVertices(List<SqlWorkspaceVertex> sqlWorkspaceVertices) {
this.sqlWorkspaceVertices = sqlWorkspaceVertices;
}
}