// Path: src/main/java/com/leansoft/mxjc/model/annotation/RootElementAnnotation.java
// public class RootElementAnnotation implements Annotatable {
// 	
// 	private String name = "";
// 	private String namespace = "";
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public String getNamespace() {
// 		return namespace;
// 	}
// 
// 	public void setNamespace(String namespace) {
// 		this.namespace = namespace;
// 	}
// 
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name) || !StringUtil.isEmpty(namespace);
// 	}
// 	
//     /**
//      * Returns a String representation of this <code>RootElement</code> annotation.
//      *
//      * @return a string representation.
//      */
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		if (!StringUtil.isEmpty(namespace)) {
// 			if (value.length() != 0) {
// 				value += ", ";
// 			}
// 			value += "namespace = \"" + namespace + "\"";;
// 		}
// 		value = "RootElement(" + value + ")";
// 		return value;
// 	}
// 
// }
// 
// Path: src/main/java/com/leansoft/mxjc/model/annotation/XmlTypeAnnotation.java
// public class XmlTypeAnnotation implements Annotatable {
// 
// 	private String name = "";
// 	private String namespace = "";
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public String getNamespace() {
// 		return namespace;
// 	}
// 
// 	public void setNamespace(String namespace) {
// 		this.namespace = namespace;
// 	}
// 
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name) || !StringUtil.isEmpty(namespace);
// 	}
// 	
//     /**
//      * Returns a String representation of this <code>RootElement</code> annotation.
//      *
//      * @return a string representation.
//      */
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		if (!StringUtil.isEmpty(namespace)) {
// 			if (value.length() != 0) {
// 				value += ", ";
// 			}
// 			value += "namespace = \"" + namespace + "\"";;
// 		}
// 		value = "XmlType(" + value + ")";
// 		return value;
// 	}
// 
// 
// }


import java.util.ArrayList;
import java.util.List;
import com.leansoft.mxjc.model.annotation.RootElementAnnotation;
import com.leansoft.mxjc.model.annotation.XmlTypeAnnotation;
	/**
	 * set super class type if this class extends any super class
	 * 
	 * @param superClass
	 */
	public void setSuperClass(TypeInfo superClass) {
		this.superClass = superClass;
	}
	
	/**
	 * doc comment of this class, extracted from xsd annotation
	 * @return doc comment
	 */
	public String getDocComment() {
		return docComment;
	}
	
	/**
	 * set doc comment of this class
	 * 
	 * @param docComment
	 */
	public void setDocComment(String docComment) {
		this.docComment = docComment;
	}
	
	public RootElementAnnotation getRootElementAnnotation() {
		return rootElementAnnotation;
	}

// Path: src/main/java/com/leansoft/mxjc/model/annotation/RootElementAnnotation.java
// public class RootElementAnnotation implements Annotatable {
// 	
// 	private String name = "";
// 	private String namespace = "";
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public String getNamespace() {
// 		return namespace;
// 	}
// 
// 	public void setNamespace(String namespace) {
// 		this.namespace = namespace;
// 	}
// 
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name) || !StringUtil.isEmpty(namespace);
// 	}
// 	
//     /**
//      * Returns a String representation of this <code>RootElement</code> annotation.
//      *
//      * @return a string representation.
//      */
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		if (!StringUtil.isEmpty(namespace)) {
// 			if (value.length() != 0) {
// 				value += ", ";
// 			}
// 			value += "namespace = \"" + namespace + "\"";;
// 		}
// 		value = "RootElement(" + value + ")";
// 		return value;
// 	}
// 
// }
// 
// Path: src/main/java/com/leansoft/mxjc/model/annotation/XmlTypeAnnotation.java
// public class XmlTypeAnnotation implements Annotatable {
// 
// 	private String name = "";
// 	private String namespace = "";
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public String getNamespace() {
// 		return namespace;
// 	}
// 
// 	public void setNamespace(String namespace) {
// 		this.namespace = namespace;
// 	}
// 
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name) || !StringUtil.isEmpty(namespace);
// 	}
// 	
//     /**
//      * Returns a String representation of this <code>RootElement</code> annotation.
//      *
//      * @return a string representation.
//      */
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		if (!StringUtil.isEmpty(namespace)) {
// 			if (value.length() != 0) {
// 				value += ", ";
// 			}
// 			value += "namespace = \"" + namespace + "\"";;
// 		}
// 		value = "XmlType(" + value + ")";
// 		return value;
// 	}
// 
// 
// }


// Path: src/main/java/com/leansoft/mxjc/model/ClassInfo.java
import java.util.ArrayList;
import java.util.List;
import com.leansoft.mxjc.model.annotation.RootElementAnnotation;
import com.leansoft.mxjc.model.annotation.XmlTypeAnnotation;

	/**
	 * set super class type if this class extends any super class
	 * 
	 * @param superClass
	 */
	public void setSuperClass(TypeInfo superClass) {
		this.superClass = superClass;
	}
	
	/**
	 * doc comment of this class, extracted from xsd annotation
	 * @return doc comment
	 */
	public String getDocComment() {
		return docComment;
	}
	
	/**
	 * set doc comment of this class
	 * 
	 * @param docComment
	 */
	public void setDocComment(String docComment) {
		this.docComment = docComment;
	}
	
	public RootElementAnnotation getRootElementAnnotation() {
		return rootElementAnnotation;
	}

	public void setRootElementAnnotation(RootElementAnnotation rootElementAnnotation) {