package net.conselldemallorca.helium.jbpm3.handlers.tipus; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import org.apache.commons.lang.builder.ToStringBuilder; import org.jbpm.graph.def.Node; import org.jbpm.graph.exe.ProcessInstance; import org.jbpm.graph.exe.Token; import net.conselldemallorca.helium.jbpm3.helper.ConversioTipusInfoHelper; public class TokenInfo { private long id; private String name; private Date start; private Date end; private Node node; private Date nodeEnter; private ProcessInstance processInstance; private Token parent; private Map<String, Token> children; // private List<Comment> comments; private ProcessInstance subProcessInstance; private boolean isAbleToReactivateParent; private boolean isTerminationImplicit; private boolean isSuspended; private String lock; public TokenInfo( long id, String name, Date start, Date end, Node node, Date nodeEnter, ProcessInstance processInstance, Token parent, Map<String, Token> children, ProcessInstance subProcessInstance, boolean isAbleToReactivateParent, boolean isTerminationImplicit, boolean isSuspended, String lock) { super(); this.id = id; this.name = name; this.start = start; this.end = end; this.node = node; this.nodeEnter = nodeEnter; this.processInstance = processInstance; this.parent = parent; this.children = children; this.subProcessInstance = subProcessInstance; this.isAbleToReactivateParent = isAbleToReactivateParent; this.isTerminationImplicit = isTerminationImplicit; this.isSuspended = isSuspended; this.lock = lock; } public long getId() { return id; } public String getName() { return name; } public Date getStart() { return start; } public Date getEnd() { return end; } public NodeInfo getNode() { return ConversioTipusInfoHelper.toNodeInfo(node); } public Date getNodeEnter() { return nodeEnter; } public ProcessInstanceInfo getProcessInstance() { return ConversioTipusInfoHelper.toProcessInstanceInfo(processInstance); } public TokenInfo getParent() { return ConversioTipusInfoHelper.toTokenInfo(parent); } public Map<String, TokenInfo> getChildren() { Map<String, TokenInfo> tokensFills = new HashMap<String, TokenInfo>(); for (Entry<String, Token> entry: children.entrySet()) { tokensFills.put(entry.getKey(), ConversioTipusInfoHelper.toTokenInfo(entry.getValue())); } return tokensFills; } public ProcessInstanceInfo getSubProcessInstance() { return ConversioTipusInfoHelper.toProcessInstanceInfo(subProcessInstance); } public boolean isAbleToReactivateParent() { return isAbleToReactivateParent; } public boolean isTerminationImplicit() { return isTerminationImplicit; } public boolean isSuspended() { return isSuspended; } public String getLock() { return lock; } public String toString() { return ToStringBuilder.reflectionToString(this); } }