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 = {"macroargument", "macrodependency"}
)
@XmlRootElement(
   name = "EXPRMACRO"
)
public class EXPRMACRO {
   @XmlAttribute(
      name = "NAME",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String name;
   @XmlAttribute(
      name = "DESCRIPTION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String description;
   @XmlAttribute(
      name = "OBJECTVERSION"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String objectversion;
   @XmlAttribute(
      name = "PROTOTYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String prototype;
   @XmlAttribute(
      name = "EXPRESSION",
      required = true
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String expression;
   @XmlAttribute(
      name = "MACROTYPE"
   )
   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
   protected String macrotype;
   @XmlAttribute(
      name = "RETURNTYPE"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String returntype;
   @XmlAttribute(
      name = "VERSIONNUMBER"
   )
   @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
   protected String versionnumber;
   @XmlElement(
      name = "MACROARGUMENT"
   )
   protected List<MACROARGUMENT> macroargument;
   @XmlElement(
      name = "MACRODEPENDENCY"
   )
   protected List<MACRODEPENDENCY> macrodependency;

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

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

   public String getPROTOTYPE() {
      return this.prototype;
   }

   public void setPROTOTYPE(String value) {
      this.prototype = value;
   }

   public String getEXPRESSION() {
      return this.expression;
   }

   public void setEXPRESSION(String value) {
      this.expression = value;
   }

   public String getMACROTYPE() {
      return this.macrotype;
   }

   public void setMACROTYPE(String value) {
      this.macrotype = value;
   }

   public String getRETURNTYPE() {
      return this.returntype;
   }

   public void setRETURNTYPE(String value) {
      this.returntype = value;
   }

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

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

   public List<MACROARGUMENT> getMACROARGUMENT() {
      if (this.macroargument == null) {
         this.macroargument = new ArrayList();
      }

      return this.macroargument;
   }

   public List<MACRODEPENDENCY> getMACRODEPENDENCY() {
      if (this.macrodependency == null) {
         this.macrodependency = new ArrayList();
      }

      return this.macrodependency;
   }
}
