Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: marauroa/game/PlayerDatabaseFactory.java


1   /* $Id: PlayerDatabaseFactory.java,v 1.4 2003/12/08 01:12:19 arianne_rpg Exp $ */
2   /***************************************************************************
3    *                      (C) Copyright 2003 - Marauroa                      *
4    ***************************************************************************
5    ***************************************************************************
6    *                                                                         *
7    *   This program is free software; you can redistribute it and/or modify  *
8    *   it under the terms of the GNU General Public License as published by  *
9    *   the Free Software Foundation; either version 2 of the License, or     *
10   *   (at your option) any later version.                                   *
11   *                                                                         *
12   ***************************************************************************/
13  package marauroa.game;
14  
15  import marauroa.*;
16  
17  /** MessageFactory is the class that is in charge of creating the correct object
18   *  for the database choosed in the configuration file. */
19  public class PlayerDatabaseFactory
20    {
21    /** This method returns an instance of PlayerDatabase choosen using the Configuration file.
22     *  @return A shared instance of PlayerDatabase */
23    public static PlayerDatabase getDatabase() throws PlayerDatabase.NoDatabaseConfException
24      {
25      marauroad.trace("PlayerDatabaseFactory::getDatabase",">");
26      try
27        {
28        Configuration conf=Configuration.getConfiguration();
29      
30        String database_type=conf.get("marauroa_DATABASE");
31      
32        if(database_type.equals("MemoryPlayerDatabase"))
33          {
34          marauroad.trace("PlayerDatabaseFactory::getDatabase","D","Choosen MemoryPlayerDatabase");
35          return MemoryPlayerDatabase.getDatabase();
36          }
37      
38        if(database_type.equals("JDBCPlayerDatabase"))
39          {
40          marauroad.trace("PlayerDatabaseFactory::getDatabase","D","Choosen JDBCPlayerDatabase");
41          return JDBCPlayerDatabase.getDatabase();
42          }
43  
44        marauroad.trace("PlayerDatabaseFactory::getDatabase","X","No PlayerDatabase choosen");
45        throw new PlayerDatabase.NoDatabaseConfException();
46        }
47      catch(Exception e)
48        {
49        marauroad.trace("PlayerDatabaseFactory::getDatabase","X",e.getMessage());
50        throw new PlayerDatabase.NoDatabaseConfException();      
51        }
52      finally
53        {     
54        marauroad.trace("PlayerDatabaseFactory::getDatabase","<");
55        }
56      }
57  
58    /** This method returns an instance of PlayerDatabase choosen using the param.
59     *  @param type A String containing the type of database
60     *  @return A shared instance of PlayerDatabase */
61    public static PlayerDatabase getDatabase(String database_type) throws PlayerDatabase.NoDatabaseConfException
62      {
63      marauroad.trace("PlayerDatabaseFactory::getDatabase",">");
64      try
65        {
66        if(database_type.equals("MemoryPlayerDatabase"))
67          {
68          marauroad.trace("PlayerDatabaseFactory::getDatabase","D","Choosen MemoryPlayerDatabase");
69          return MemoryPlayerDatabase.getDatabase();
70          }
71      
72        if(database_type.equals("JDBCPlayerDatabase"))
73          {
74          marauroad.trace("PlayerDatabaseFactory::getDatabase","D","Choosen JDBCPlayerDatabase");
75          return JDBCPlayerDatabase.getDatabase();
76          }
77  
78        marauroad.trace("PlayerDatabaseFactory::getDatabase","X","No PlayerDatabase choosen");
79        throw new PlayerDatabase.NoDatabaseConfException();
80        }
81      catch(Exception e)
82        {
83        marauroad.trace("PlayerDatabaseFactory::getDatabase","X",e.getMessage());
84        throw new PlayerDatabase.NoDatabaseConfException();      
85        }
86      finally
87        {     
88        marauroad.trace("PlayerDatabaseFactory::getDatabase","<");
89        }
90      }
91    }