⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractengine.java

📁 羽量级数据持久层开发框架
💻 JAVA
字号:
package org.speedframework.engine;

import org.apache.log4j.Logger;

import org.speedframework.action.*;
import org.speedframework.application.IApplication;
import org.speedframework.application.ISourceBuilderFactory;
import org.speedframework.connection.IConnectionAdaptor;
import org.speedframework.entity.ParamEntity;
import org.speedframework.exception.SpeedFrameworkException;
import org.speedframework.message.IMessage;
import org.speedframework.message.SynchronousDBTypeMessage;
import org.speedframework.message.SynchronousSaveMessage;
import org.speedframework.message.state.IState;
import org.speedframework.utilities.SpeedFrameworkUtility;

import java.io.Serializable;

import java.sql.Connection;

import java.util.List;

public abstract class AbstractEngine implements Engine {

	protected static final Logger log = Logger.getLogger(AbstractEngine.class);

	protected static SpeedFrameworkUtility utility = new SpeedFrameworkUtility();

	protected IApplication application = null;

	protected IConnectionAdaptor connectionAdaptor = null;

	protected boolean useCache = true;

	protected IActionBuilderFactory actionFactory;

	protected ISourceBuilderFactory applicationFactory;

	public void setApplicationID(String applicationID)
			throws SpeedFrameworkException {
		application = utility.getApplication(applicationID,
				this.applicationFactory.getApplicationClass());
		application.setApplicationBuilderFactory(applicationFactory);
	}

	public Connection getConnection(boolean commit)
			throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		IConnectionAction action = this.actionFactory.getConnectionAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setCommit(commit);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		return (Connection) message.getPojos();
	}

	public String getDateBaseVersion() throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		IDateBaseVersionAction action = this.actionFactory.getDateBaseAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		// entity.setEntity(pojo);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		return message.getPojos().toString();
	}

	public Object save(Object pojo) throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		IInsertAction action = this.actionFactory.getInsertAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setEntity(pojo);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		// String id=(String) message.getPojos();
		// Object obj=this.load(pojo.getClass(), id);
		// if (state.getState() == IState.FINISH) {
		// return (IPOJO) ((List) message.getPojos()).get(0);
		// }
		return message.getPojos();
	}

	public void commit() throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		ICommitAction action = this.actionFactory.getCommitAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}

	public void rollback() throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		IRollbackAction action = this.actionFactory.getRollbackAction();

		// IState state = null;
		message.setAction(action);
		message.setApplicationID(application.getApplicationID());

		// message.setState(state);
		// message.addPojo(pojo);
		ParamEntity entity = new ParamEntity();

		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}

	public void closeEngine() throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		ICloseAction action = this.actionFactory.getCloseAction();

		// IState state = null;
		message.setAction(action);
		message.setApplicationID(application.getApplicationID());

		ParamEntity entity = new ParamEntity();

		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}

	public Object load(Class loadclass, Serializable id)
			throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		ILoadAction action = this.actionFactory.getLoadAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setLoadclass(loadclass);
		entity.setId(id);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);

		// message.addPojo(id);
		application.dealMessage(message);

		return message.getPojos();
	}

	public Object update(Object pojo) throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		IUpdateAction action = this.actionFactory.getUpdateAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setEntity(pojo);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		return message.getPojos();
	}

	public void delete(Object pojo) throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		IDeleteAction action = this.actionFactory.getDeleteAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setEntity(pojo);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}

	public void executeBatch(String SQL, Object[][] params)
			throws SpeedFrameworkException {
		IMessage message = new SynchronousDBTypeMessage();
		IExecuteBatchAction action = this.actionFactory.getExecuteBatchAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setSQL(SQL);
		entity.setParams(params);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}

	public String getSequences(String SeqName) throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		ISequencesAction action = this.actionFactory.getSequencesAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setEntity(SeqName);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		return message.getPojos().toString();
	}

	public void setUseCacheStatus(boolean useCache) {
		this.useCache = useCache;
	}

	public boolean getUseCacheStatus() {
		return this.useCache;
	}

	public Object executeFunctionCall(String SQL, Object[] params,
			int returnType) throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		IExecuteFunctionAction action = actionFactory
				.getExecuteFunctionAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setSQL(SQL);
		entity.setParam(params);
		entity.setReturnType(returnType);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		return message.getPojos();
	}

	public List executeProcedureCall(String SQL, Object[] params, Class voclass)
			throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		IExecuteProcedureAction action = actionFactory
				.getExecuteProcedureAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setSQL(SQL);
		entity.setParam(params);
		entity.setLoadclass(voclass);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);

		return (List) message.getPojos();
	}

	public void executeProcedureCall(String SQL, Object[] params)
			throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		IExecuteProcedureAction action = actionFactory
				.getExecuteProcedureAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setSQL(SQL);
		entity.setParam(params);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}

	public void executeSpecialSQL(String SQL, Object[] params)
			throws SpeedFrameworkException {
		IMessage message = new SynchronousSaveMessage();
		IExecuteSpecialAction action = actionFactory.getExecuteSpecialAction();
		IState state = null;

		message.setAction(action);
		message.setApplicationID(application.getApplicationID());
		message.setState(state);

		ParamEntity entity = new ParamEntity();

		entity.setSQL(SQL);
		entity.setParam(params);
		entity.setConnectionAdaptor(this.connectionAdaptor);
		entity.setUseCacheStatus(this.useCache);
		message.setParamEntity(entity);
		application.dealMessage(message);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -