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.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", "tableoptions", "objectversion", "name", "description", "databasetype", "constraint", "businessname", "keyword", "flatfile", "xmlinfo", "group", "targetfield", "targetindex", "tableattribute", "metadataextension"}
)
@XmlRootElement(
   name = "TARGET"
)
public class TARGET {
   @XmlAttribute(
      name = "NAME",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String name;
   @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 = "CONSTRAINT"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String constraint;
   @XmlAttribute(
      name = "TABLEOPTIONS"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String tableoptions;
   @XmlAttribute(
      name = "TABLETYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String tabletype;
   @XmlAttribute(
      name = "DATABASETYPE",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String databasetype;
   @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 = "KEYWORD"
   )
   protected List<KEYWORD> keyword;
   @XmlElement(
      name = "FLATFILE"
   )
   protected FLATFILE flatfile;
   @XmlElement(
      name = "XMLINFO"
   )
   protected XMLINFO xmlinfo;
   @XmlElement(
      name = "GROUP"
   )
   protected List<GROUP> group;
   @XmlElement(
      name = "TARGETFIELD"
   )
   protected List<TARGETFIELD> targetfield;
   @XmlElement(
      name = "TARGETINDEX"
   )
   protected List<TARGETINDEX> targetindex;
   @XmlElement(
      name = "TABLEATTRIBUTE"
   )
   protected List<TABLEATTRIBUTE> tableattribute;
   @XmlElement(
      name = "METADATAEXTENSION"
   )
   protected List<METADATAEXTENSION> metadataextension;

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

   public void setNAME(String value) {
      this.name = 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 getCONSTRAINT() {
      return this.constraint;
   }

   public void setCONSTRAINT(String value) {
      this.constraint = value;
   }

   public String getTABLEOPTIONS() {
      return this.tableoptions;
   }

   public void setTABLEOPTIONS(String value) {
      this.tableoptions = value;
   }

   public String getTABLETYPE() {
      return this.tabletype;
   }

   public void setTABLETYPE(String value) {
      this.tabletype = value;
   }

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

   public void setDATABASETYPE(String value) {
      this.databasetype = 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 List<KEYWORD> getKEYWORD() {
      if (this.keyword == null) {
         this.keyword = new ArrayList();
      }

      return this.keyword;
   }

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

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

   public XMLINFO getXMLINFO() {
      return this.xmlinfo;
   }

   public void setXMLINFO(XMLINFO value) {
      this.xmlinfo = value;
   }

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

      return this.group;
   }

   public List<TARGETFIELD> getTARGETFIELD() {
      if (this.targetfield == null) {
         this.targetfield = new ArrayList();
      }

      return this.targetfield;
   }

   public List<TARGETINDEX> getTARGETINDEX() {
      if (this.targetindex == null) {
         this.targetindex = new ArrayList();
      }

      return this.targetindex;
   }

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

      return this.tableattribute;
   }

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

      return this.metadataextension;
   }
}
