/**
 * @namespace com.thesis.business.BusinessObject
 * @author 钟军锐 August.R@263.net
 * imports com.thesis.base.Detect
 * imports com.thesis.util.Event
 * imports com.thesis.ajax.Command
 * imports com.thesis.ajax.DataAccess
 * imports com.thesis.ajax.DataAdapter
 */

/** @id BusinessObject */
function BusinessObject(dataClass,selectCommand,paramsSource){
	/** @type {DataAccess} */
	this.DataAccess = new DataAccess(selectCommand);
	this.dataClass = dataClass;
	this.paramsSource = paramsSource;
	if(typeof BusinessObject._initialized == "undefined"){
		BusinessObject._initialized = true;
		/** @id execute */
		BusinessObject.prototype.execute = function(){
			this.DataAccess.select(this.dataClass,this.paramsSource);
		};
		/** @id initialize */
		BusinessObject.prototype.initialize = function(Root){
			
			uEvent.Listener.add(Root.DataAccess,"Selected",function(arrList){
				uEvent.Listener.notify(Root,"Executed",arrList);
			});
			
			uEvent.Listener.add(Root.DataAccess,"Exception",function(ex){
				uEvent.Listener.notify(Root,"Exception",ex);
			});
			
			uEvent.Listener.add(Root.DataAccess,"Message",function(msg){
				uEvent.Listener.notify(Root,"Message",msg);
			});
		};
	}
	this.initialize(this);
}
