package ee.telekom.workflow.facade.model; import java.util.Date; /** * Model object that reflects a work item's state. * * @author Christian Klock */ public class WorkItemState{ public static enum Type{ SIGNAL, TIMER, TASK, HUMAN_TASK } private Long refNum; private Long woinRefNum; private int tokenId; private String status; private String signal; private Date dueDate; private String bean; private String method; private String role; private String userName; private String arguments; private String result; private Date dateCreated; private Date dateUpdated; public Long getRefNum(){ return refNum; } public void setRefNum( Long refNum ){ this.refNum = refNum; } public Long getWoinRefNum(){ return woinRefNum; } public void setWoinRefNum( Long woinRefNum ){ this.woinRefNum = woinRefNum; } public int getTokenId(){ return tokenId; } public void setTokenId( int tokenId ){ this.tokenId = tokenId; } public String getStatus(){ return status; } public void setStatus( String status ){ this.status = status; } public String getSignal(){ return signal; } public void setSignal( String signal ){ this.signal = signal; } public Date getDueDate(){ return dueDate; } public void setDueDate( Date dueDate ){ this.dueDate = dueDate; } public String getBean(){ return bean; } public void setBean( String bean ){ this.bean = bean; } public String getMethod(){ return method; } public void setMethod( String method ){ this.method = method; } public String getRole(){ return role; } public void setRole( String role ){ this.role = role; } public String getUserName(){ return userName; } public void setUserName( String userName ){ this.userName = userName; } public String getArguments(){ return arguments; } public void setArguments( String arguments ){ this.arguments = arguments; } public String getResult(){ return result; } public void setResult( String result ){ this.result = result; } public Date getDateCreated(){ return dateCreated; } public void setDateCreated( Date dateCreated ){ this.dateCreated = dateCreated; } public Date getDateUpdated(){ return dateUpdated; } public void setDateUpdated( Date dateUpdated ){ this.dateUpdated = dateUpdated; } public Type getType(){ if( signal != null ){ return Type.SIGNAL; } else if( dueDate != null ){ return Type.TIMER; } else if( bean != null && method != null ){ return Type.TASK; } else if( role != null || userName != null ){ return Type.HUMAN_TASK; } else{ throw new IllegalStateException( "Unknown work item type" ); } } }