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

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
   name = "",
   propOrder = {"usageflags", "scale", "precision", "picturetext", "physicaloffset", "physicallength", "offset", "occurs", "nullable", "name", "level", "length", "keytype", "hidden", "fieldtype", "fieldproperty", "fieldnumber", "description", "datatype", "businessname", "sourcefield", "fieldattribute"}
)
@XmlRootElement(
   name = "SOURCEFIELD"
)
public class SOURCEFIELD {
   @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 = "DATATYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String datatype;
   @XmlAttribute(
      name = "KEYTYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String keytype;
   @XmlAttribute(
      name = "PRECISION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String precision;
   @XmlAttribute(
      name = "SCALE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String scale;
   @XmlAttribute(
      name = "NULLABLE"
   )
   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
   protected String nullable;
   @XmlAttribute(
      name = "USAGE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String usage;
   @XmlAttribute(
      name = "USAGE_FLAGS"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String usageflags;
   @XmlAttribute(
      name = "LEVEL"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String level;
   @XmlAttribute(
      name = "FIELDTYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String fieldtype;
   @XmlAttribute(
      name = "PICTURETEXT"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String picturetext;
   @XmlAttribute(
      name = "OCCURS"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String occurs;
   @XmlAttribute(
      name = "REDEFINES"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String redefines;
   @XmlAttribute(
      name = "REFERENCEDTABLE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String referencedtable;
   @XmlAttribute(
      name = "REFERENCEDFIELD"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String referencedfield;
   @XmlAttribute(
      name = "REFERENCEDDBD"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String referenceddbd;
   @XmlAttribute(
      name = "OFFSET"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String offset;
   @XmlAttribute(
      name = "LENGTH"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String length;
   @XmlAttribute(
      name = "PHYSICALOFFSET"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String physicaloffset;
   @XmlAttribute(
      name = "PHYSICALLENGTH"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String physicallength;
   @XmlAttribute(
      name = "FIELDNUMBER"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String fieldnumber;
   @XmlAttribute(
      name = "FIELDPROPERTY"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String fieldproperty;
   @XmlAttribute(
      name = "HIDDEN"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String hidden;
   @XmlAttribute(
      name = "GROUP"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String group;
   @XmlAttribute(
      name = "SHIFTSTATE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String shiftstate;
   @XmlElement(
      name = "SOURCEFIELD"
   )
   protected List<SOURCEFIELD> sourcefield;
   @XmlElement(
      name = "FIELDATTRIBUTE"
   )
   protected List<FIELDATTRIBUTE> fieldattribute;

   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 getDATATYPE() {
      return this.datatype;
   }

   public void setDATATYPE(String value) {
      this.datatype = value;
   }

   public String getKEYTYPE() {
      return this.keytype;
   }

   public void setKEYTYPE(String value) {
      this.keytype = value;
   }

   public String getPRECISION() {
      return this.precision;
   }

   public void setPRECISION(String value) {
      this.precision = value;
   }

   public String getSCALE() {
      return this.scale;
   }

   public void setSCALE(String value) {
      this.scale = value;
   }

   public String getNULLABLE() {
      return this.nullable;
   }

   public void setNULLABLE(String value) {
      this.nullable = value;
   }

   public String getUSAGE() {
      return this.usage;
   }

   public void setUSAGE(String value) {
      this.usage = value;
   }

   public String getUSAGEFLAGS() {
      return this.usageflags;
   }

   public void setUSAGEFLAGS(String value) {
      this.usageflags = value;
   }

   public String getLEVEL() {
      return this.level;
   }

   public void setLEVEL(String value) {
      this.level = value;
   }

   public String getFIELDTYPE() {
      return this.fieldtype;
   }

   public void setFIELDTYPE(String value) {
      this.fieldtype = value;
   }

   public String getPICTURETEXT() {
      return this.picturetext;
   }

   public void setPICTURETEXT(String value) {
      this.picturetext = value;
   }

   public String getOCCURS() {
      return this.occurs;
   }

   public void setOCCURS(String value) {
      this.occurs = value;
   }

   public String getREDEFINES() {
      return this.redefines;
   }

   public void setREDEFINES(String value) {
      this.redefines = value;
   }

   public String getREFERENCEDTABLE() {
      return this.referencedtable;
   }

   public void setREFERENCEDTABLE(String value) {
      this.referencedtable = value;
   }

   public String getREFERENCEDFIELD() {
      return this.referencedfield;
   }

   public void setREFERENCEDFIELD(String value) {
      this.referencedfield = value;
   }

   public String getREFERENCEDDBD() {
      return this.referenceddbd;
   }

   public void setREFERENCEDDBD(String value) {
      this.referenceddbd = value;
   }

   public String getOFFSET() {
      return this.offset;
   }

   public void setOFFSET(String value) {
      this.offset = value;
   }

   public String getLENGTH() {
      return this.length;
   }

   public void setLENGTH(String value) {
      this.length = value;
   }

   public String getPHYSICALOFFSET() {
      return this.physicaloffset;
   }

   public void setPHYSICALOFFSET(String value) {
      this.physicaloffset = value;
   }

   public String getPHYSICALLENGTH() {
      return this.physicallength;
   }

   public void setPHYSICALLENGTH(String value) {
      this.physicallength = value;
   }

   public String getFIELDNUMBER() {
      return this.fieldnumber;
   }

   public void setFIELDNUMBER(String value) {
      this.fieldnumber = value;
   }

   public String getFIELDPROPERTY() {
      return this.fieldproperty;
   }

   public void setFIELDPROPERTY(String value) {
      this.fieldproperty = value;
   }

   public String getHIDDEN() {
      return this.hidden;
   }

   public void setHIDDEN(String value) {
      this.hidden = value;
   }

   public String getGROUP() {
      return this.group;
   }

   public void setGROUP(String value) {
      this.group = value;
   }

   public String getSHIFTSTATE() {
      return this.shiftstate;
   }

   public void setSHIFTSTATE(String value) {
      this.shiftstate = value;
   }

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

      return this.sourcefield;
   }

   public List<FIELDATTRIBUTE> getFIELDATTRIBUTE() {
      if (this.fieldattribute == null) {
         this.fieldattribute = new ArrayList();
      }

      return this.fieldattribute;
   }
}
