/* * Copyright 2016 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.cases; import java.util.Date; import java.util.List; import java.util.Map; 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 = "case-instance") public class CaseInstance { @XmlElement(name="case-id") private String caseId; @XmlElement(name="case-description") private String caseDescription; @XmlElement(name="case-owner") private String caseOwner; @XmlElement(name="case-status") private Integer caseStatus; @XmlElement(name="case-definition-id") private String caseDefinitionId; @XmlElement(name="container-id") private String containerId; @XmlElement(name="case-started-at") private Date startedAt; @XmlElement(name="case-completed-at") private Date completedAt; @XmlElement(name="case-completion-msg") private String completionMessage; @XmlElement(name="case-file") private CaseFile caseFile; @XmlElement(name="case-milestones") private List<CaseMilestone> milestones; @XmlElement(name="case-stages") private List<CaseStage> stages; @XmlElement(name="case-roles") private List<CaseRoleAssignment> roleAssignments; public String getCaseId() { return caseId; } public void setCaseId(String caseId) { this.caseId = caseId; } public String getCaseDescription() { return caseDescription; } public void setCaseDescription(String caseDescription) { this.caseDescription = caseDescription; } public String getCaseOwner() { return caseOwner; } public void setCaseOwner(String caseOwner) { this.caseOwner = caseOwner; } public Integer getCaseStatus() { return caseStatus; } public void setCaseStatus(Integer caseStatus) { this.caseStatus = caseStatus; } public String getCaseDefinitionId() { return caseDefinitionId; } public void setCaseDefinitionId(String caseDefinitionId) { this.caseDefinitionId = caseDefinitionId; } public String getContainerId() { return containerId; } public void setContainerId(String containerId) { this.containerId = containerId; } public Date getStartedAt() { return startedAt; } public void setStartedAt(Date startedAt) { this.startedAt = startedAt; } public Date getCompletedAt() { return completedAt; } public void setCompletedAt(Date completedAt) { this.completedAt = completedAt; } public String getCompletionMessage() { return completionMessage; } public void setCompletionMessage(String completionMessage) { this.completionMessage = completionMessage; } public CaseFile getCaseFile() { return caseFile; } public void setCaseFile(CaseFile caseFile) { this.caseFile = caseFile; } public List<CaseMilestone> getMilestones() { return milestones; } public void setMilestones(List<CaseMilestone> milestones) { this.milestones = milestones; } public List<CaseStage> getStages() { return stages; } public void setStages(List<CaseStage> stages) { this.stages = stages; } public List<CaseRoleAssignment> getRoleAssignments() { return roleAssignments; } public void setRoleAssignments(List<CaseRoleAssignment> roleAssignments) { this.roleAssignments = roleAssignments; } public static Builder builder() { return new Builder(); } public static class Builder { private CaseInstance caseInstance = new CaseInstance(); public CaseInstance build() { return caseInstance; } public Builder caseId(String caseId) { caseInstance.setCaseId(caseId); return this; } public Builder caseDescription(String description) { caseInstance.setCaseDescription(description); return this; } public Builder caseOwner(String owner) { caseInstance.setCaseOwner(owner); return this; } public Builder caseStatus(Integer status) { caseInstance.setCaseStatus(status); return this; } public Builder caseDefinitionId(String definitionId) { caseInstance.setCaseDefinitionId(definitionId); return this; } public Builder containerId(String containerId) { caseInstance.setContainerId(containerId); return this; } public Builder startedAt(Date startedAt) { caseInstance.setStartedAt(startedAt); return this; } public Builder completedAt(Date completedAt) { caseInstance.setCompletedAt(completedAt); return this; } public Builder completionMessage(String completionMessage) { caseInstance.setCompletionMessage(completionMessage==null?"":completionMessage); return this; } public Builder caseFile(CaseFile caseFile) { caseInstance.setCaseFile(caseFile); return this; } public Builder milestones(List<CaseMilestone> milestones) { caseInstance.setMilestones(milestones); return this; } public Builder stages(List<CaseStage> stages) { caseInstance.setStages(stages); return this; } public Builder roleAssignments(List<CaseRoleAssignment> roleAssignments) { caseInstance.setRoleAssignments(roleAssignments); return this; } } @Override public String toString() { return "CaseInstance{" + "caseId='" + caseId + '\'' + ", caseDescription='" + caseDescription + '\'' + ", caseOwner='" + caseOwner + '\'' + ", caseStatus=" + caseStatus + ", caseDefinitionId='" + caseDefinitionId + '\'' + ", containerId='" + containerId + '\'' + ", startedAt=" + startedAt + ", completedAt=" + completedAt + ", completionMessage='" + completionMessage + '\'' + '}'; } }