enoeht的Java源码系列(2)--综合工厂

package org.kyle.net.svr.sample;

 

public class IntegrationFactory

{

    public IntegrationFactory()

    {

    }

 

    public static IListener createListener(GenProfile genCfg)

    {

      IListener iListener = null;

      try {

        //根据配置文件中设置的类名创建相应的实例

        iListener = (IListener) instantiateIt(genCfg.getListenerImpl());

      }

      catch (Exception e) {

        Debug.info("Listener class not found!");

        //如果指定的类不存在,使用默认的类创建实例,同时由于在程序中引用的都是接口,因此在此处提供一个默认类的引用,编译时只需编译mainclass,不需要单独再编译默认类了

        iListener = new SampleListenerImpl();

      }

      return iListener;

    }

 

     //根据类的名字得到类的实例

public static Object instantiateIt(String clsName)

                    throws ClassNotFoundException,

             ClassCastException,

             InstantiationException,

             IllegalAccessException

          {

                    Class cls = Class.forName(clsName);    

                    return cls.newInstance();

          }

}

 

在配置文件中加上:Listener = org.kyle.net.svr.sample.SampleListenerImpl

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值