您的位置:首页 > 其它

自己实现一个Factory

2006-09-09 20:11 435 查看
自己实现一个Factory

CollectionFactory.java文件:

package cn.itcast;

import java.util.*;
import java.io.*;

public class CollectionFactory
{
public static String KEY_PROPERTIES_FILE = "cn.itcast.collectionfile";
public static String KEY_CLASS = "class";
public static String KEY_ELEMENTS = "elements";

public static Collection getCollection() throws Exception
{
String properties_file = System.getProperty(KEY_PROPERTIES_FILE);
if(properties_file == null)
{
throw new IllegalArgumentException("not found property file!");
}

InputStream ips = CollectionFactory.class.getResourceAsStream("/" + properties_file);
if(ips == null)
{
throw new IllegalArgumentException("file not exists!");
}

Properties props = new Properties();
props.load(ips);
ips.close();

String strClassName = props.getProperty(KEY_CLASS);
Class classCollection = Class.forName(strClassName);
Collection objCollection = (Collection) classCollection.newInstance();

String strElements = props.getProperty(KEY_ELEMENTS);
String [] elements = strElements.split(",");
for(String element : elements)
{
objCollection.add(element);
}

return objCollection;
}
}

MainClass.java文件:

package cn.itcast;

import java.util.*;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;

public class MainClass
{
public static void main(String [] args) throws Exception
{
Log log = LogFactory.getLog(MainClass.class);
Collection objCollection = CollectionFactory.getCollection();
for(Object obj : objCollection)
{
log.info(obj.toString());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: