/*******************************************************************************
* Copyright (c) 2014 Open Door Logistics (www.opendoorlogistics.com)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at http://www.gnu.org/licenses/lgpl.txt
******************************************************************************/
package com.opendoorlogistics.core.scripts.elements;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import com.opendoorlogistics.core.scripts.ScriptConstants;
import com.opendoorlogistics.core.utils.Version;
@XmlRootElement(name=ScriptConstants.SCRIPT_XML_NODE_NAME)
final public class Script extends Option implements Serializable{
private Version version = new Version(ScriptConstants.SCRIPT_VERSION_MAJOR, ScriptConstants.SCRIPT_VERSION_MINOR, ScriptConstants.SCRIPT_VERSION_REVISION);
private ScriptEditorType scriptEditorUIType = ScriptEditorType.WIZARD_GENERATED_EDITOR;
private String createdByComponentId;
private List<UserFormula> userFormulae = new ArrayList<UserFormula>();
@XmlTransient
private UUID uuid = UUID.randomUUID();
public Script() {
setOptionId("root");
}
public Version getVersion() {
return version;
}
@XmlElement(name = "ScriptFormatVersion")
public void setVersion(Version version) {
this.version = version;
}
public UUID getUuid() {
return uuid;
}
@XmlTransient
public void setUuid(UUID uuid) {
this.uuid = uuid;
}
public ScriptEditorType getScriptEditorUIType() {
return scriptEditorUIType;
}
@XmlAttribute(name="ScriptEditorType")
public void setScriptEditorUIType(ScriptEditorType scriptType) {
this.scriptEditorUIType = scriptType;
}
public String getCreatedByComponentId() {
return createdByComponentId;
}
@XmlElement(name = "CreatedByComponent")
public void setCreatedByComponentId(String createdByComponentId) {
this.createdByComponentId = createdByComponentId;
}
public List<UserFormula> getUserFormulae() {
return userFormulae;
}
@XmlElement(name = "UserFormulae")
public void setUserFormulae(List<UserFormula> userFormulae) {
this.userFormulae = userFormulae;
}
// public TemplateConfig getTemplate() {
// return template;
// }
//
// @XmlElement(name = "Template")
// public void setTemplate(TemplateConfig template) {
// this.template = template;
// }
//
}