/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.xmlworkflow.storedcomponents; import org.dspace.core.Context; import org.dspace.core.ReloadableEntity; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import javax.persistence.*; import java.sql.SQLException; /** * Represents a workflow assignments database representation. * These assignments describe roles and the groups connected * to these roles for each collection * * @author Bram De Schouwer (bram.deschouwer at dot com) * @author Kevin Van de Velde (kevin at atmire dot com) * @author Ben Bosman (ben at atmire dot com) * @author Mark Diggory (markd at atmire dot com) */ @Entity @Table(name="cwf_workflowitemrole") public class WorkflowItemRole implements ReloadableEntity<Integer> { @Id @Column(name="workflowitemrole_id") @GeneratedValue(strategy = GenerationType.SEQUENCE ,generator="cwf_workflowitemrole_seq") @SequenceGenerator(name="cwf_workflowitemrole_seq", sequenceName="cwf_workflowitemrole_seq", allocationSize = 1) private Integer id; // @Column(name = "role_id") // @Lob @Column(name="role_id", columnDefinition = "text") private String roleId; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "workflowitem_id") private XmlWorkflowItem workflowItem; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "eperson_id") private EPerson ePerson; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "group_id") private Group group; /** * Protected constructor, create object using: * {@link org.dspace.xmlworkflow.storedcomponents.service.WorkflowItemRoleService#create(Context)} * */ protected WorkflowItemRole() { } public Integer getID() { return id; } public void setRoleId(String id){ this.roleId = id; } public String getRoleId(){ return this.roleId; } public void setWorkflowItem(XmlWorkflowItem xmlWorkflowItem){ this.workflowItem = xmlWorkflowItem; } public XmlWorkflowItem getWorkflowItem(){ return workflowItem; } public void setEPerson(EPerson eperson){ this.ePerson = eperson; } public EPerson getEPerson() throws SQLException { return ePerson; } public void setGroup(Group group){ this.group = group; } public Group getGroup() throws SQLException { return group; } }