/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kie.server.api.model.instance;
import java.util.Date;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "node-instance")
public class NodeInstance {
@XmlElement(name="node-instance-id")
private Long id;
@XmlElement(name="node-name")
private String name;
@XmlElement(name="process-instance-id")
private Long processInstanceId;
@XmlElement(name="work-item-id")
private Long workItemId;
@XmlElement(name="container-id")
private String containerId;
@XmlElement(name="start-date")
private Date date;
@XmlElement(name="node-id")
private String nodeId;
@XmlElement(name="node-type")
private String nodeType;
@XmlElement(name="node-connection")
private String connection;
@XmlElement(name="node-completed")
private Boolean completed;
@XmlElement(name="reference-id")
private Long referenceId;
public NodeInstance() {
}
public static Builder builder() {
return new Builder();
}
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 Long getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(Long processInstanceId) {
this.processInstanceId = processInstanceId;
}
public Long getWorkItemId() {
return workItemId;
}
public void setWorkItemId(Long workItemId) {
this.workItemId = workItemId;
}
public String getContainerId() {
return containerId;
}
public void setContainerId(String containerId) {
this.containerId = containerId;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getNodeId() {
return nodeId;
}
public void setNodeId(String nodeId) {
this.nodeId = nodeId;
}
public String getNodeType() {
return nodeType;
}
public void setNodeType(String nodeType) {
this.nodeType = nodeType;
}
public String getConnection() {
return connection;
}
public void setConnection(String connection) {
this.connection = connection;
}
public Boolean getCompleted() {
return completed;
}
public void setCompleted(Boolean completed) {
this.completed = completed;
}
public Long getReferenceId() {
return referenceId;
}
public void setReferenceId(Long referenceId) {
this.referenceId = referenceId;
}
@Override
public String toString() {
return "NodeInstance{" +
"id=" + id +
", name='" + name + '\'' +
", processInstanceId=" + processInstanceId +
", workItemId=" + workItemId +
", containerId='" + containerId + '\'' +
", date=" + date +
", nodeId='" + nodeId + '\'' +
", nodeType='" + nodeType + '\'' +
", completed=" + completed +
'}';
}
public static class Builder {
private NodeInstance processInstance = new NodeInstance();
public NodeInstance build() {
return processInstance;
}
public Builder id(Long id) {
processInstance.setId(id);
return this;
}
public Builder nodeId(String nodeId) {
processInstance.setNodeId(nodeId);
return this;
}
public Builder name(String name) {
processInstance.setName(name);
return this;
}
public Builder processInstanceId(Long processInstanceId) {
processInstance.setProcessInstanceId(processInstanceId);
return this;
}
public Builder workItemId(Long workItemId) {
processInstance.setWorkItemId(workItemId);
return this;
}
public Builder containerId(String containerId) {
processInstance.setContainerId(containerId);
return this;
}
public Builder nodeType(String nodeType) {
processInstance.setNodeType(nodeType);
return this;
}
public Builder date(Date date) {
processInstance.setDate(date == null ? date : new Date(date.getTime()));
return this;
}
public Builder connection(String connection) {
processInstance.setConnection(connection);
return this;
}
public Builder completed(Boolean completed) {
processInstance.setCompleted(completed);
return this;
}
public Builder referenceId(Long referenceId) {
processInstance.setReferenceId(referenceId);
return this;
}
}
}