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

📄 localserviceimpl.java

📁 一个应用服务类
💻 JAVA
字号:
package cn.com.chhd.fw.svc;

import java.util.HashMap;

import org.apache.log4j.Logger;

import cn.com.chhd.fw.open.IService;
import cn.com.chhd.fw.open.ServiceException;
import cn.com.chhd.fw.open.ServiceSession;

/**
 * 应用服务接口实现.
 * <p>
 * Copyright: Copyright (c)2006 ShHTL
 * </p>
 * 
 * @author Hemingrui
 * @version 1.0 $History: $
 * 
 */
public class LocalServiceImpl implements IService {

    private ServiceContext context = null;

    /**
     * 操作会话认证
     * 
     * @param session
     */
    public boolean authentication(ServiceSession session) throws Exception {
        context = new ServiceContext();
        context.setSession(session);
        return context.isPassed;
    }

    private void checkSession() throws Exception {
        if (null == context || !context.isPassed) {
            throw new ServiceException("100102");
        }
    }

    /**
     * 查询应用
     * 
     * @param id
     * @param obj
     * @return
     * @throws Exception
     */
    public Object load(String id) throws Exception {
        checkSession();

        LocalService infoSvc = ServicesHolder.findSvc(id);
        infoSvc.proTreat(context);
        return infoSvc.query();
    }

    /**
     * 查询应用
     * 
     * @param id
     * @param obj
     * @return
     * @throws Exception
     */
    public Object load(String id, Object obj) throws Exception {
        checkSession();

        LocalService infoSvc = ServicesHolder.findSvc(id);
        infoSvc.proTreat(context);
        return infoSvc.query(obj);
    }

    /**
     * 新添应用
     * 
     * @param id
     * @param obj
     * @throws Exception
     */
    public void add(String id, Object obj) throws Exception {
        checkSession();

        LocalService infoSvc = ServicesHolder.findSvc(id);
        infoSvc.proTreat(context);
        infoSvc.insert(obj);
    }

    /**
     * 修改应用
     * 
     * @param id
     * @param obj
     * @throws Exception
     */
    public void modify(String id, Object obj) throws Exception {
        checkSession();

        LocalService infoSvc = ServicesHolder.findSvc(id);
        infoSvc.proTreat(context);
        infoSvc.update(obj);
    }

    /**
     * 删除应用
     * 
     * @param id
     * @param obj
     * @throws Exception
     */
    public void remove(String id, Object obj) throws Exception {
        checkSession();

        LocalService infoSvc = ServicesHolder.findSvc(id);
        infoSvc.proTreat(context);
        infoSvc.delete(obj);
    }

    /**
     * 执行指定操作.
     * 
     * @param id
     * @param obj
     * @return
     * @throws Exception
     */
    public Object execute(String id, Object obj) throws Exception {
        checkSession();

        LocalService infoSvc = ServicesHolder.findSvc(id);
        infoSvc.proTreat(context);
        return infoSvc.execute(obj);
    }
}

/**
 * 
 * @author hemingrui
 *
 */
class ServicesHolder{
    public static HashMap<String, LocalService> _svcDicts = new HashMap<String, LocalService>();
    static Logger logger = Logger.getLogger(ServicesHolder.class);
    
    /**
     * 查询服务.
     * @param id
     * @return
     * @throws ServiceException
     */
    public static LocalService findSvc(String id) throws ServiceException{
        if(_svcDicts.containsKey(id)){
            return (LocalService)_svcDicts.get(id);
        }else{
            try{
                LocalService svc = (LocalService) Class.forName(id).newInstance();
                _svcDicts.put(id, svc);
                return svc;
            }catch(Exception ex){
                logger.error("没有找到服务类:" + id);
                throw new ServiceException("100104");
            }
        }
    }
    
}

⌨️ 快捷键说明

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