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.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
   name = "",
   propOrder = {"versionnumber", "ownername", "objectversion", "name", "description", "dbdname", "databasetype", "businessname", "flatfile", "xmlinfoOrERPSRCINFO", "group", "tableattribute", "sourcefield", "metadataextension"}
)
@XmlRootElement(
   name = "SOURCE"
)
public class SOURCE {
   @XmlAttribute(
      name = "NAME",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String name;
   @XmlAttribute(
      name = "DBDNAME"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String dbdname;
   @XmlAttribute(
      name = "BUSINESSNAME"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String businessname;
   @XmlAttribute(
      name = "DESCRIPTION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String description;
   @XmlAttribute(
      name = "OBJECTVERSION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String objectversion;
   @XmlAttribute(
      name = "OWNERNAME"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String ownername;
   @XmlAttribute(
      name = "IBMCOMP"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String ibmcomp;
   @XmlAttribute(
      name = "DATABASETYPE",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String databasetype;
   @XmlAttribute(
      name = "DATABASE_SUBTYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String databasesubtype;
   @XmlAttribute(
      name = "VERSIONNUMBER"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String versionnumber;
   @XmlAttribute(
      name = "COMPONENTVERSION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String componentversion;
   @XmlAttribute(
      name = "CRCVALUE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String crcvalue;
   @XmlElement(
      name = "FLATFILE"
   )
   protected FLATFILE flatfile;
   @XmlElements({@XmlElement(
   name = "XMLINFO",
   type = XMLINFO.class
), @XmlElement(
   name = "ERPSRCINFO",
   type = ERPSRCINFO.class
)})
   protected List<Object> xmlinfoOrERPSRCINFO;
   @XmlElement(
      name = "GROUP"
   )
   protected List<GROUP> group;
   @XmlElement(
      name = "TABLEATTRIBUTE"
   )
   protected List<TABLEATTRIBUTE> tableattribute;
   @XmlElement(
      name = "SOURCEFIELD"
   )
   protected List<SOURCEFIELD> sourcefield;
   @XmlElement(
      name = "METADATAEXTENSION"
   )
   protected List<METADATAEXTENSION> metadataextension;

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

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

   public String getDBDNAME() {
      return this.dbdname;
   }

   public void setDBDNAME(String value) {
      this.dbdname = value;
   }

   public String getBUSINESSNAME() {
      return this.businessname;
   }

   public void setBUSINESSNAME(String value) {
      this.businessname = value;
   }

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

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

   public String getOBJECTVERSION() {
      return this.objectversion;
   }

   public void setOBJECTVERSION(String value) {
      this.objectversion = value;
   }

   public String getOWNERNAME() {
      return this.ownername;
   }

   public void setOWNERNAME(String value) {
      this.ownername = value;
   }

   public String getIBMCOMP() {
      return this.ibmcomp;
   }

   public void setIBMCOMP(String value) {
      this.ibmcomp = value;
   }

   public String getDATABASETYPE() {
      return this.databasetype;
   }

   public void setDATABASETYPE(String value) {
      this.databasetype = value;
   }

   public String getDATABASESUBTYPE() {
      return this.databasesubtype;
   }

   public void setDATABASESUBTYPE(String value) {
      this.databasesubtype = value;
   }

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

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

   public String getCOMPONENTVERSION() {
      return this.componentversion;
   }

   public void setCOMPONENTVERSION(String value) {
      this.componentversion = value;
   }

   public String getCRCVALUE() {
      return this.crcvalue;
   }

   public void setCRCVALUE(String value) {
      this.crcvalue = value;
   }

   public FLATFILE getFLATFILE() {
      return this.flatfile;
   }

   public void setFLATFILE(FLATFILE value) {
      this.flatfile = value;
   }

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

      return this.xmlinfoOrERPSRCINFO;
   }

   public List<GROUP> getGROUP() {
      if (this.group == null) {
         this.group = new ArrayList();
      }

      return this.group;
   }

   public List<TABLEATTRIBUTE> getTABLEATTRIBUTE() {
      if (this.tableattribute == null) {
         this.tableattribute = new ArrayList();
      }

      return this.tableattribute;
   }

   public List<SOURCEFIELD> getSOURCEFIELD() {
      if (this.sourcefield == null) {
         this.sourcefield = new ArrayList();
      }

      return this.sourcefield;
   }

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

      return this.metadataextension;
   }
}
