package com.jqmobile.core.server.service; import java.sql.Connection; import java.util.Hashtable; /** * Manager层辅助工具类 * @author MODI * * @project com.jiuqi.mobile.core * @date 2013年11月15日 */ public abstract class ServiceUtil { protected static final Hashtable<Long, ServiceUtil> utils = new Hashtable<Long, ServiceUtil>(); public final static ServiceUtil getInstance(){ return utils.get(Thread.currentThread().getId()); } // private IServiceUtilAction preAction,finishAction,succeedAction; private IServiceUtilExceptionAction exceptionAction; /** * 获得当前数据库连接对象 * @return */ public abstract Connection getConnection(); /** * 在方法执行前添加回调(方法之前) * void */ public void setOnPreAction(IServiceUtilAction action){ this.preAction = action; } /** * 在方法执行完成后添加回调(无论是否异常,都执行回调) * void */ public void setOnFinishAction(IServiceUtilAction action){ this.finishAction = action; } /** * 在方法异常时添加回调(出现异常时回调) * void */ public void setOnExceptionAction(IServiceUtilExceptionAction action){ this.exceptionAction = action; } /** * 在方法执行成功后回调(如果出现异常,不执行此方法) * void */ public void setOnSucceedAction(IServiceUtilAction action){ this.succeedAction = action; } protected IServiceUtilExceptionAction getExceptionAction() { return exceptionAction; } protected IServiceUtilAction getFinishAction() { return finishAction; } protected IServiceUtilAction getPreAction() { return preAction; } protected IServiceUtilAction getSucceedAction() { return succeedAction; } // /** * <p>service基础回调action</p> * * <p>Copyright: 版权所有 (c) 2002 - 2015<br> * Company: 久其</p> * * @author modi * @version 2014年3月18日 */ public interface IServiceUtilAction{ void action(); } /** * <p>service异常回调action</p> * * <p>Copyright: 版权所有 (c) 2002 - 2015<br> * Company: 久其</p> * * @author modi * @version 2014年3月18日 */ public interface IServiceUtilExceptionAction{ void action(Throwable e); } }