/* * 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.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-definition") public class CaseDefinition { @XmlElement(name="name") private String name; @XmlElement(name="id") private String identifier; @XmlElement(name="version") private String version; @XmlElement(name="case-id-prefix") private String caseIdPrefix; @XmlElement(name="container-id") private String containerId; @XmlElement(name="adhoc-fragments") private List<CaseAdHocFragment> adHocFragments; @XmlElement(name="roles") private Map<String, Integer> roles; @XmlElement(name="milestones") private List<CaseMilestoneDefinition> milestones; @XmlElement(name="stages") private List<CaseStageDefinition> caseStages; public CaseDefinition() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIdentifier() { return identifier; } public void setIdentifier(String identifier) { this.identifier = identifier; } public String getCaseIdPrefix() { return caseIdPrefix; } public void setCaseIdPrefix(String caseIdPrefix) { this.caseIdPrefix = caseIdPrefix; } public String getContainerId() { return containerId; } public void setContainerId(String containerId) { this.containerId = containerId; } public List<CaseAdHocFragment> getAdHocFragments() { return adHocFragments; } public void setAdHocFragments(List<CaseAdHocFragment> adHocFragments) { this.adHocFragments = adHocFragments; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public Map<String, Integer> getRoles() { return roles; } public void setRoles(Map<String, Integer> roles) { this.roles = roles; } public List<CaseStageDefinition> getCaseStages() { return caseStages; } public void setCaseStages(List<CaseStageDefinition> caseStages) { this.caseStages = caseStages; } public List<CaseMilestoneDefinition> getMilestones() { return milestones; } public void setMilestones(List<CaseMilestoneDefinition> milestones) { this.milestones = milestones; } public static Builder builder() { return new Builder(); } public static class Builder { private CaseDefinition caseDefinition = new CaseDefinition(); public CaseDefinition build() { return caseDefinition; } public Builder id(String id) { caseDefinition.setIdentifier(id); return this; } public Builder name(String name) { caseDefinition.setName(name); return this; } public Builder version(String version) { caseDefinition.setVersion(version); return this; } public Builder caseIdPrefix(String caseIdPrefix) { caseDefinition.setCaseIdPrefix(caseIdPrefix); return this; } public Builder containerId(String containerId) { caseDefinition.setContainerId(containerId); return this; } public Builder adHocFragments(List<CaseAdHocFragment> adHocFragments) { caseDefinition.setAdHocFragments(adHocFragments); return this; } public Builder stages(List<CaseStageDefinition> stages) { caseDefinition.setCaseStages(stages); return this; } public Builder roles(Map<String, Integer> roles) { caseDefinition.setRoles(roles); return this; } public Builder milestones(List<CaseMilestoneDefinition> milestones) { caseDefinition.setMilestones(milestones); return this; } } @Override public String toString() { return "CaseDefinition{" + "name='" + name + '\'' + ", identifier='" + identifier + '\'' + ", version='" + version + '\'' + ", caseIdPrefix='" + caseIdPrefix + '\'' + ", containerId='" + containerId + '\'' + '}'; } }