org.radrails.db.core
Class ProjectDatabaseManager

java.lang.Object
  extended byorg.radrails.db.core.ProjectDatabaseManager
All Implemented Interfaces:
java.util.EventListener, org.eclipse.core.resources.IResourceChangeListener

public class ProjectDatabaseManager
extends java.lang.Object
implements org.eclipse.core.resources.IResourceChangeListener

Represents a project's database connections.

Version:
0.3.0
Author:
mbaumbach

Constructor Summary
ProjectDatabaseManager(org.eclipse.core.resources.IProject project)
          Creates a new ProjectDatabaseManager class based on a project.
 
Method Summary
 boolean addProjectDatabaseManagerListener(ProjectDatabaseManagerChangeListener listener)
          Adds a ProjectDatabaseManagerChangeListener to the list of listeners.
 java.sql.Connection getConnection(java.lang.String env)
          Attempts to get a connection for the specified environment.
 org.eclipse.core.resources.IProject getIProject()
           
 java.lang.String getProjectName()
           
 boolean removeProjectDatabaseManagerListener(ProjectDatabaseManagerChangeListener listener)
          Removes a ProjectDatabaseManagerChangeListener from the list of listeners.
 void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectDatabaseManager

public ProjectDatabaseManager(org.eclipse.core.resources.IProject project)
Creates a new ProjectDatabaseManager class based on a project.

Parameters:
project - The project associated with this ProjectDatabaseManager class.
Method Detail

getConnection

public java.sql.Connection getConnection(java.lang.String env)
                                  throws java.io.FileNotFoundException,
                                         java.sql.SQLException,
                                         java.lang.InstantiationException,
                                         java.lang.IllegalAccessException,
                                         java.io.IOException
Attempts to get a connection for the specified environment.

Parameters:
env - The environment to get the connection for. Use IDatabaseConstants.
Returns:
A Connection to the database, or null if no connection was established.
Throws:
java.io.IOException - If an I/O error occurs while getting the connection.
java.lang.IllegalAccessException - If access to the database is denied.
java.lang.InstantiationException - If the database cannot be created.
java.sql.SQLException - If an error occurred while connecting to the database.
java.io.FileNotFoundException - If the database.yml file could not be found for the project.

addProjectDatabaseManagerListener

public boolean addProjectDatabaseManagerListener(ProjectDatabaseManagerChangeListener listener)
Adds a ProjectDatabaseManagerChangeListener to the list of listeners.

Parameters:
listener - The listener to add.
Returns:
true if the listener was added, false otherwise.

removeProjectDatabaseManagerListener

public boolean removeProjectDatabaseManagerListener(ProjectDatabaseManagerChangeListener listener)
Removes a ProjectDatabaseManagerChangeListener from the list of listeners.

Parameters:
listener - The listener to remove.
Returns:
true if the listener was remove, false otherwise.

resourceChanged

public void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
Specified by:
resourceChanged in interface org.eclipse.core.resources.IResourceChangeListener
See Also:
IResourceChangeListener.resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)

getProjectName

public java.lang.String getProjectName()
Returns:
the project name

getIProject

public org.eclipse.core.resources.IProject getIProject()
Returns:
the project