// Path: src/main/java/com/leansoft/mxjc/model/annotation/AttributeAnnotation.java
// public class AttributeAnnotation implements Annotatable {
// 
// 	private String name = "";
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name);
// 	}
// 
// 	
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		value = "Attribute(" + value + ")";
// 		return value;
// 	}
// 	
// }
// 
// Path: src/main/java/com/leansoft/mxjc/model/annotation/ElementAnnotation.java
// public class ElementAnnotation implements Annotatable {
// 	
// 	private String name = "";
// 	
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 	
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name);
// 	}
// 
// 	
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		value = "Element(" + value + ")";
// 		return value;
// 	}
// 	
// }


import com.leansoft.mxjc.model.annotation.AttributeAnnotation;
import com.leansoft.mxjc.model.annotation.ElementAnnotation;
package com.leansoft.mxjc.model;


/**
 * Field model for codegen
 * 
 * @author bulldog
 *
 */
public class FieldInfo {

	// name of this field
	private String name;
	
	// type of this field
	private TypeInfo type;
	
	// doc comments
	private String docComment;
	
	// is schema element, map to xml element
	private boolean isElement = false;
	// is schema attribute, map to xml attribute
	private boolean isAttribute = false;
	// is schema value, map to xml text value
	private boolean isValue = false;
	// is schema any, map to any
	private boolean isAny = false;
	
	private ElementAnnotation elementAnnotation;
	
// Path: src/main/java/com/leansoft/mxjc/model/annotation/AttributeAnnotation.java
// public class AttributeAnnotation implements Annotatable {
// 
// 	private String name = "";
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name);
// 	}
// 
// 	
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		value = "Attribute(" + value + ")";
// 		return value;
// 	}
// 	
// }
// 
// Path: src/main/java/com/leansoft/mxjc/model/annotation/ElementAnnotation.java
// public class ElementAnnotation implements Annotatable {
// 	
// 	private String name = "";
// 	
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 	
// 	@Override
// 	public boolean isParameterProvided() {
// 		return !StringUtil.isEmpty(name);
// 	}
// 
// 	
// 	public String toString() {
// 		String value = "";
// 		if (!StringUtil.isEmpty(name)) {
// 			value += "name = \"" + name + "\"";;
// 		}
// 		value = "Element(" + value + ")";
// 		return value;
// 	}
// 	
// }


// Path: src/main/java/com/leansoft/mxjc/model/FieldInfo.java
import com.leansoft.mxjc.model.annotation.AttributeAnnotation;
import com.leansoft.mxjc.model.annotation.ElementAnnotation;

package com.leansoft.mxjc.model;


/**
 * Field model for codegen
 * 
 * @author bulldog
 *
 */
public class FieldInfo {

	// name of this field
	private String name;
	
	// type of this field
	private TypeInfo type;
	
	// doc comments
	private String docComment;
	
	// is schema element, map to xml element
	private boolean isElement = false;
	// is schema attribute, map to xml attribute
	private boolean isAttribute = false;
	// is schema value, map to xml text value
	private boolean isValue = false;
	// is schema any, map to any
	private boolean isAny = false;
	
	private ElementAnnotation elementAnnotation;
	
	private AttributeAnnotation attributeAnnotation;