/*
* 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 = "variable-instance")
public class VariableInstance {
@XmlElement(name="name")
private String variableName;
@XmlElement(name="old-value")
private String oldValue;
@XmlElement(name="value")
private String value;
@XmlElement(name="process-instance-id")
private Long processInstanceId;
@XmlElement(name="modification-date")
private Date date;
public VariableInstance() {
}
public static Builder builder() {
return new Builder();
}
public String getVariableName() {
return variableName;
}
public void setVariableName(String variableName) {
this.variableName = variableName;
}
public String getOldValue() {
return oldValue;
}
public void setOldValue(String oldValue) {
this.oldValue = oldValue;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Long getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(Long processInstanceId) {
this.processInstanceId = processInstanceId;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public String toString() {
return "VariableInstance{" +
"variableName='" + variableName + '\'' +
", oldValue='" + oldValue + '\'' +
", value='" + value + '\'' +
", processInstanceId=" + processInstanceId +
", date=" + date +
'}';
}
public static class Builder {
private VariableInstance variableInstance = new VariableInstance();
public VariableInstance build() {
return variableInstance;
}
public Builder name(String name) {
variableInstance.setVariableName(name);
return this;
}
public Builder value(String value) {
variableInstance.setValue(value);
return this;
}
public Builder oldValue(String oldValue) {
variableInstance.setOldValue(oldValue);
return this;
}
public Builder processInstanceId(Long processInstanceId) {
variableInstance.setProcessInstanceId(processInstanceId);
return this;
}
public Builder date(Date date) {
variableInstance.setDate(date == null ? date : new Date(date.getTime()));
return this;
}
}
}