package com.chenyang.nse.bussiness.engine.infa.basic.xmlbean;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
   name = "",
   propOrder = {"versionnumber", "sortorder", "reusable", "name", "mappingname", "isvalid", "description", "task", "sesstransformationinst", "configreference", "sessioncomponent", "sessionextension", "attribute", "metadataextension", "resourcereferenceOrTRANSFORMRESOURCEREF"}
)
@XmlRootElement(
   name = "SESSION"
)
public class SESSION {
   @XmlAttribute(
      name = "NAME",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String name;
   @XmlAttribute(
      name = "DESCRIPTION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String description;
   @XmlAttribute(
      name = "REUSABLE",
      required = true
   )
   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
   protected String reusable;
   @XmlAttribute(
      name = "ISVALID"
   )
   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
   protected String isvalid;
   @XmlAttribute(
      name = "MAPPINGNAME",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String mappingname;
   @XmlAttribute(
      name = "MAPPINGVERSION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String mappingversion;
   @XmlAttribute(
      name = "SORTORDER"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String sortorder;
   @XmlAttribute(
      name = "PARENT"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String parent;
   @XmlAttribute(
      name = "PARENT_TYPE"
   )
   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
   protected String parenttype;
   @XmlAttribute(
      name = "VERSIONNUMBER"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String versionnumber;
   @XmlElement(
      name = "TASK"
   )
   protected List<TASK> task;
   @XmlElement(
      name = "SESSTRANSFORMATIONINST"
   )
   protected List<SESSTRANSFORMATIONINST> sesstransformationinst;
   @XmlElement(
      name = "CONFIGREFERENCE"
   )
   protected CONFIGREFERENCE configreference;
   @XmlElement(
      name = "SESSIONCOMPONENT"
   )
   protected List<SESSIONCOMPONENT> sessioncomponent;
   @XmlElement(
      name = "SESSIONEXTENSION"
   )
   protected List<SESSIONEXTENSION> sessionextension;
   @XmlElement(
      name = "ATTRIBUTE"
   )
   protected List<ATTRIBUTE> attribute;
   @XmlElement(
      name = "METADATAEXTENSION"
   )
   protected List<METADATAEXTENSION> metadataextension;
   @XmlElements({@XmlElement(
   name = "RESOURCEREFERENCE",
   type = RESOURCEREFERENCE.class
), @XmlElement(
   name = "TRANSFORMRESOURCEREF",
   type = TRANSFORMRESOURCEREF.class
)})
   protected List<Object> resourcereferenceOrTRANSFORMRESOURCEREF;

   public String getNAME() {
      return this.name;
   }

   public void setNAME(String value) {
      this.name = value;
   }

   public String getDESCRIPTION() {
      return this.description;
   }

   public void setDESCRIPTION(String value) {
      this.description = value;
   }

   public String getREUSABLE() {
      return this.reusable;
   }

   public void setREUSABLE(String value) {
      this.reusable = value;
   }

   public String getISVALID() {
      return this.isvalid;
   }

   public void setISVALID(String value) {
      this.isvalid = value;
   }

   public String getMAPPINGNAME() {
      return this.mappingname;
   }

   public void setMAPPINGNAME(String value) {
      this.mappingname = value;
   }

   public String getMAPPINGVERSION() {
      return this.mappingversion;
   }

   public void setMAPPINGVERSION(String value) {
      this.mappingversion = value;
   }

   public String getSORTORDER() {
      return this.sortorder;
   }

   public void setSORTORDER(String value) {
      this.sortorder = value;
   }

   public String getPARENT() {
      return this.parent;
   }

   public void setPARENT(String value) {
      this.parent = value;
   }

   public String getPARENTTYPE() {
      return this.parenttype;
   }

   public void setPARENTTYPE(String value) {
      this.parenttype = value;
   }

   public String getVERSIONNUMBER() {
      return this.versionnumber;
   }

   public void setVERSIONNUMBER(String value) {
      this.versionnumber = value;
   }

   public List<TASK> getTASK() {
      if (this.task == null) {
         this.task = new ArrayList();
      }

      return this.task;
   }

   public List<SESSTRANSFORMATIONINST> getSESSTRANSFORMATIONINST() {
      if (this.sesstransformationinst == null) {
         this.sesstransformationinst = new ArrayList();
      }

      return this.sesstransformationinst;
   }

   public CONFIGREFERENCE getCONFIGREFERENCE() {
      return this.configreference;
   }

   public void setCONFIGREFERENCE(CONFIGREFERENCE value) {
      this.configreference = value;
   }

   public List<SESSIONCOMPONENT> getSESSIONCOMPONENT() {
      if (this.sessioncomponent == null) {
         this.sessioncomponent = new ArrayList();
      }

      return this.sessioncomponent;
   }

   public List<SESSIONEXTENSION> getSESSIONEXTENSION() {
      if (this.sessionextension == null) {
         this.sessionextension = new ArrayList();
      }

      return this.sessionextension;
   }

   public List<ATTRIBUTE> getATTRIBUTE() {
      if (this.attribute == null) {
         this.attribute = new ArrayList();
      }

      return this.attribute;
   }

   public List<METADATAEXTENSION> getMETADATAEXTENSION() {
      if (this.metadataextension == null) {
         this.metadataextension = new ArrayList();
      }

      return this.metadataextension;
   }

   public List<Object> getRESOURCEREFERENCEOrTRANSFORMRESOURCEREF() {
      if (this.resourcereferenceOrTRANSFORMRESOURCEREF == null) {
         this.resourcereferenceOrTRANSFORMRESOURCEREF = new ArrayList();
      }

      return this.resourcereferenceOrTRANSFORMRESOURCEREF;
   }
}
