//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2017.10.26 at 07:21:56 下午 CST 
//


package com.artfess.bpm.defxml.entity.ext;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;


/**
 * 流程节点配置,包括开始节点,结束节点,子流程等
 * 
 * <p>Java class for userNode complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="userNode">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;group ref="{http://www.jee-soft.cn/bpm}userNodeElements"/>
 *       &lt;attGroup ref="{http://www.jee-soft.cn/bpm}baseNodeAttr"/>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "userNode", propOrder = {
    "varDefs",
    "extPlugins",
    "form",
    "mobileForm",
    "subProcessForm",
    "transformRules",
    "buttons",
    "scripts",
    "propers",
    "subTableRights",
    "formInitSetting"
})
public class UserNode {

    protected VarDefs varDefs;
    protected ExtPlugins extPlugins;
    protected Form form;
    protected MobileForm mobileForm;
    protected SubProcessForm subProcessForm;
    protected TransformRules transformRules;
    protected Buttons buttons;
    protected Scripts scripts;
    protected Propers propers;
    protected SubTableRights subTableRights;
    protected FormInitSetting formInitSetting;
    @XmlAttribute(required = true)
    protected String name;
    @XmlAttribute(required = true)
    protected NodeType nodeType;
    @XmlAttribute(required = true)
    protected String bpmnElement;
    @XmlAttribute
    protected String description;

    /**
     * Gets the value of the varDefs property.
     * 
     * @return
     *     possible object is
     *     {@link VarDefs }
     *     
     */
    public VarDefs getVarDefs() {
        return varDefs;
    }

    /**
     * Sets the value of the varDefs property.
     * 
     * @param value
     *     allowed object is
     *     {@link VarDefs }
     *     
     */
    public void setVarDefs(VarDefs value) {
        this.varDefs = value;
    }

    /**
     * 流程节点扩展插件
     * 
     * @return
     *     possible object is
     *     {@link ExtPlugins }
     *     
     */
    public ExtPlugins getExtPlugins() {
        return extPlugins;
    }

    /**
     * Sets the value of the extPlugins property.
     * 
     * @param value
     *     allowed object is
     *     {@link ExtPlugins }
     *     
     */
    public void setExtPlugins(ExtPlugins value) {
        this.extPlugins = value;
    }

    /**
     * Gets the value of the form property.
     * 
     * @return
     *     possible object is
     *     {@link Form }
     *     
     */
    public Form getForm() {
        return form;
    }

    /**
     * Sets the value of the form property.
     * 
     * @param value
     *     allowed object is
     *     {@link Form }
     *     
     */
    public void setForm(Form value) {
        this.form = value;
    }

    /**
     * Gets the value of the mobileForm property.
     * 
     * @return
     *     possible object is
     *     {@link MobileForm }
     *     
     */
    public MobileForm getMobileForm() {
        return mobileForm;
    }

    /**
     * Sets the value of the mobileForm property.
     * 
     * @param value
     *     allowed object is
     *     {@link MobileForm }
     *     
     */
    public void setMobileForm(MobileForm value) {
        this.mobileForm = value;
    }

    /**
     * Gets the value of the subProcessForm property.
     * 
     * @return
     *     possible object is
     *     {@link SubProcessForm }
     *     
     */
    public SubProcessForm getSubProcessForm() {
        return subProcessForm;
    }

    /**
     * Sets the value of the subProcessForm property.
     * 
     * @param value
     *     allowed object is
     *     {@link SubProcessForm }
     *     
     */
    public void setSubProcessForm(SubProcessForm value) {
        this.subProcessForm = value;
    }

    /**
     * Gets the value of the transformRules property.
     * 
     * @return
     *     possible object is
     *     {@link TransformRules }
     *     
     */
    public TransformRules getTransformRules() {
        return transformRules;
    }

    /**
     * Sets the value of the transformRules property.
     * 
     * @param value
     *     allowed object is
     *     {@link TransformRules }
     *     
     */
    public void setTransformRules(TransformRules value) {
        this.transformRules = value;
    }

    /**
     * Gets the value of the buttons property.
     * 
     * @return
     *     possible object is
     *     {@link Buttons }
     *     
     */
    public Buttons getButtons() {
        return buttons;
    }

    /**
     * Sets the value of the buttons property.
     * 
     * @param value
     *     allowed object is
     *     {@link Buttons }
     *     
     */
    public void setButtons(Buttons value) {
        this.buttons = value;
    }

    /**
     * Gets the value of the scripts property.
     * 
     * @return
     *     possible object is
     *     {@link Scripts }
     *     
     */
    public Scripts getScripts() {
        return scripts;
    }

    /**
     * Sets the value of the scripts property.
     * 
     * @param value
     *     allowed object is
     *     {@link Scripts }
     *     
     */
    public void setScripts(Scripts value) {
        this.scripts = value;
    }

    /**
     * Gets the value of the propers property.
     * 
     * @return
     *     possible object is
     *     {@link Propers }
     *     
     */
    public Propers getPropers() {
        return propers;
    }

    /**
     * Sets the value of the propers property.
     * 
     * @param value
     *     allowed object is
     *     {@link Propers }
     *     
     */
    public void setPropers(Propers value) {
        this.propers = value;
    }

    /**
     * Gets the value of the subTableRights property.
     * 
     * @return
     *     possible object is
     *     {@link SubTableRights }
     *     
     */
    public SubTableRights getSubTableRights() {
        return subTableRights;
    }

    /**
     * Sets the value of the subTableRights property.
     * 
     * @param value
     *     allowed object is
     *     {@link SubTableRights }
     *     
     */
    public void setSubTableRights(SubTableRights value) {
        this.subTableRights = value;
    }

    /**
     * Gets the value of the formInitSetting property.
     * 
     * @return
     *     possible object is
     *     {@link FormInitSetting }
     *     
     */
    public FormInitSetting getFormInitSetting() {
        return formInitSetting;
    }

    /**
     * Sets the value of the formInitSetting property.
     * 
     * @param value
     *     allowed object is
     *     {@link FormInitSetting }
     *     
     */
    public void setFormInitSetting(FormInitSetting value) {
        this.formInitSetting = value;
    }

    /**
     * Gets the value of the name property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setName(String value) {
        this.name = value;
    }

    /**
     * Gets the value of the nodeType property.
     * 
     * @return
     *     possible object is
     *     {@link NodeType }
     *     
     */
    public NodeType getNodeType() {
        return nodeType;
    }

    /**
     * Sets the value of the nodeType property.
     * 
     * @param value
     *     allowed object is
     *     {@link NodeType }
     *     
     */
    public void setNodeType(NodeType value) {
        this.nodeType = value;
    }

    /**
     * Gets the value of the bpmnElement property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBpmnElement() {
        return bpmnElement;
    }

    /**
     * Sets the value of the bpmnElement property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBpmnElement(String value) {
        this.bpmnElement = value;
    }

    /**
     * Gets the value of the description property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets the value of the description property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDescription(String value) {
        this.description = value;
    }

}
