snap.database
Class DatabaseManager

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--snap.database.DatabaseManager
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class DatabaseManager
extends javax.swing.JPanel
implements java.awt.event.ActionListener

Manages the database connections

Author:
Nathan Conklin - nathan@conklinfamily.net, Chris North - north@cs.vt.edu
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DatabaseManager(snap.Snap snap)
          Constructor for the DatabaseManager.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addConnectionChangeEventListener(snap.database.ConnectionChangeEventListener ccel)
          Installs the listener for ConnectionChangeEvents
 java.sql.Connection getConnection()
          Returns the connection to the user's database.
 java.sql.Connection getConnection(java.lang.String server, java.lang.String database, java.lang.String user, java.lang.String password)
          This method will return a database connection
 snap.database.DatabaseSchema getDatabaseSchema()
          Returns the DatabaseSchema for the data connection.
 java.lang.String getDSN()
          Returns the database name that has been set by the user.
 java.sql.Connection getNewConnection()
          Returns a new connection to the user's database.
 java.lang.String getPassword()
          Returns the password that has been set by the user.
 java.sql.ResultSet getResultSet(java.sql.Connection connection, snap.database.Query sql)
          This method will return the ResultSet for a given SQL statement.
 java.lang.String getServer()
          Returns the server that has been set by the user.
 java.lang.String getUser()
          Returns the user name that has been set by the user.
 void removeConnectionChangeEventListener(snap.database.ConnectionChangeEventListener ccel)
          Removes the listener for ConnectionChangeEvents
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DatabaseManager

public DatabaseManager(snap.Snap snap)
Constructor for the DatabaseManager.

Method Detail

removeConnectionChangeEventListener

public void removeConnectionChangeEventListener(snap.database.ConnectionChangeEventListener ccel)
Removes the listener for ConnectionChangeEvents


addConnectionChangeEventListener

public void addConnectionChangeEventListener(snap.database.ConnectionChangeEventListener ccel)
Installs the listener for ConnectionChangeEvents


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

getConnection

public java.sql.Connection getConnection(java.lang.String server,
                                         java.lang.String database,
                                         java.lang.String user,
                                         java.lang.String password)
This method will return a database connection


getNewConnection

public java.sql.Connection getNewConnection()
Returns a new connection to the user's database. Returns null if Snap was unable to connect. This method is needed to allow each thread to have its own connection to the database.


getConnection

public java.sql.Connection getConnection()
Returns the connection to the user's database. null if Snap was unable to connect


getDatabaseSchema

public snap.database.DatabaseSchema getDatabaseSchema()
Returns the DatabaseSchema for the data connection. null if Snap was unable to connect


getResultSet

public java.sql.ResultSet getResultSet(java.sql.Connection connection,
                                       snap.database.Query sql)
This method will return the ResultSet for a given SQL statement.

Returns:
ResultSet for the given connection and SQL statement. null if there was a problem retrieving the ResultSet.

getServer

public java.lang.String getServer()
Returns the server that has been set by the user.


getDSN

public java.lang.String getDSN()
Returns the database name that has been set by the user.


getUser

public java.lang.String getUser()
Returns the user name that has been set by the user.


getPassword

public java.lang.String getPassword()
Returns the password that has been set by the user.