www.pudn.com > 200402121144312230.rar > MysqlFactory.java


package net.ijsp.news.news.mysql;

/**
 * 

Title: Factory

*

Description:

*

Copyright: Copyright (c) 2003

*

Company: ijsp.net

* @author ccjsmile * @version 1.0 */ import net.ijsp.news.news.Factory; import net.ijsp.news.news.User; import net.ijsp.news.news.UserFactory; import net.ijsp.news.news.Board; import net.ijsp.news.news.BoardFactory; import net.ijsp.news.news.News; import net.ijsp.news.news.NewsFactory; import net.ijsp.news.search.*; import net.ijsp.news.search.database.*; public class MysqlFactory extends Factory { private static UserFactory userFactory = null; private static BoardFactory boardFactory = null; private static NewsFactory newsFactory = null; private final static String className = "net.ijsp.news.news.mysql.MysqlUserFactory"; private final static String className1 = "net.ijsp.news.news.mysql.MysqlBoardFactory"; private final static String className2 = "net.ijsp.news.news.mysql.MysqlNewsFactory"; public MysqlFactory() { } /** * 获取 User 实例 */ public User getUser() { return (User)new MysqlUser(); } /** * 获取 UserFactory 实例 */ public UserFactory getUserFactory() { if(userFactory==null) { try { Class c = Class.forName(className); userFactory = (UserFactory)c.newInstance(); } catch (Exception ex) { ex.printStackTrace(); } } return userFactory; } /** * 获取 Board 实例 */ public Board getBoard() { return (Board)new MysqlBoard(); } /** * 获取 BoardFactory 实例 */ public BoardFactory getBoardFactory() { if(boardFactory==null) { try { Class c = Class.forName(className1); boardFactory = (BoardFactory)c.newInstance(); } catch (Exception ex) { ex.printStackTrace(); } } return boardFactory; } /** * 获取 News 实例 */ public News getNews() { return (News)new MysqlNews(); } /** * 获取 NewsFactory 实例 */ public NewsFactory getNewsFactory() { if(newsFactory==null) { try{ Class c = Class.forName(className2); newsFactory = (NewsFactory)c.newInstance(); }catch(Exception ex){ System.err.println(ex); } } return newsFactory; } /** * 设置检索 */ public SearchManager getSearchManager() { return (SearchManager)new DbSearchManager(); } /** * 检索 */ public Query getQuery() { return (Query)new DbQuery(); } }