package #(baseModelPackageName);

import org.tio.sitexxx.service.jf.TioModel;
import org.tio.jfinal.plugin.activerecord.IBean;

/**
 * Generated by JFinal, do not modify this file.
 */
#if (generateChainSetter)
@SuppressWarnings({"serial", "unchecked"})
#else
@SuppressWarnings("serial")
#end
public abstract class #(tableMeta.baseModelName)<M extends #(tableMeta.baseModelName)<M>> extends TioModel<M> implements IBean {

#set(b = generateChainSetter)
#for(cm : tableMeta.columnMetas)
	#if (cm.remarks)
	/**
	 * #(cm.remarks)
	 */
	 #end
	#set(argName = javaKeyword.contains(cm.attrName) ? '_' + cm.attrName : cm.attrName)
	public #(b ? 'M' : 'void') set#(firstCharToUpperCase(cm.attrName))(#(cm.javaType) #(argName)) {
		set("#(cm.name)", #(argName));
		#if (b)
		return (M)this;
		#end
	}
	
	#if (cm.remarks)
	/**
	 * #(cm.remarks)
	 */
	 #end
	#set(getterOfModel = getterTypeMap.get(cm.javaType))
	#if (isBlank(getterOfModel))
		#set(getterOfModel = 'get')
	#end
	public #(cm.javaType) get#(firstCharToUpperCase(cm.attrName))() {
		return #(getterOfModel)("#(cm.name)");
	}

#end
}

