public final class DatabaseConnectionStores
extends java.lang.Object
Within the product there are potentially multiple places where database connections can be defined - i.e. multiple database connection stores. There is always a central store (e.g. Resource Palette) and then potentially many others. This class gives access to the full list of available stores, and the ability to retrieve a store (a DatabaseConnections
object) given its unique name.
A store name is not a displayable String, there are displayable methods for getting the short label, tooltip and icon for a given store.
DatabaseConnections
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CENTRAL_STORE
The store name for the central store of connections in the IDE.
|
Modifier and Type | Method and Description |
---|---|
void |
addStoreListener(StoreListener l)
Adds a listener that will be notified of the addition or removal of extra stores of database connections.
|
java.lang.String |
getCurrentConnection(Context ideContext)
Will return the current connection that is selected in the IDE.
|
ConnectionInfo |
getCurrentConnectionInfo(Context ideContext)
Returns the connection information for the connection that is currently selected in the IDE.
|
Database |
getCurrentDatabase(Context ideContext)
Will return the current Database that is selected in the IDE.
|
DatabaseConnections |
getCurrentStore()
Gets the current store.
|
DatabaseConnections |
getCurrentStore(Context ideContext)
Gets the current store.
|
java.lang.String |
getCurrentStoreName(Context ideContext)
Gets the current store name.
|
javax.swing.Icon |
getIcon(java.lang.String storeName)
Gets an icon for the given store.
|
static DatabaseConnectionStores |
getInstance() |
static DatabaseProvider |
getReferenceable(java.lang.String storeName, java.lang.String connName)
Utility method to get a connection's details given its store and connection name.
|
java.lang.String |
getShortLabel(java.lang.String storeName)
Gets a displayable (translated) label for the given store name.
|
DatabaseConnections |
getStore(java.lang.String storeName)
Retrieves a store with the given unique name.
|
java.lang.String |
getToolTipText(java.lang.String storeName)
Gets a translated tooltip text to use for the given store if it is displayed in UI.
|
java.util.Collection<java.lang.String> |
listStores()
Lists all the available stores in the product.
|
java.util.Collection<java.lang.String> |
listStores(Context ideContext)
Lists all the stores the user should be allowed to use in the given IDE Context.
|
void |
registerStoreProvider(StoreProvider provider)
Deprecated.
- use the extension.xml hook
|
void |
removeStoreListener(StoreListener l)
Removes the given store listener.
|
public static final java.lang.String CENTRAL_STORE
public static final DatabaseConnectionStores getInstance()
public void addStoreListener(StoreListener l)
here
l
- the listener to registerpublic void removeStoreListener(StoreListener l)
l
- the listener to removeaddStoreListener(oracle.jdeveloper.db.StoreListener)
public java.util.Collection<java.lang.String> listStores()
listStores(Context)
.public java.util.Collection<java.lang.String> listStores(Context ideContext)
public DatabaseConnections getCurrentStore()
public DatabaseConnections getCurrentStore(Context ideContext)
ideContext
- the current IDE ContextgetCurrentStoreName(Context)
public java.lang.String getCurrentStoreName(Context ideContext)
ideContext
- the current IDE ContextgetCurrentStoreName(Context)
public java.lang.String getCurrentConnection(Context ideContext)
getCurrentStore()
. The database connection does not need to be valid/connected for this to return.public ConnectionInfo getCurrentConnectionInfo(Context ideContext)
public Database getCurrentDatabase(Context ideContext)
getCurrentStore()
.
This is arguably more powerful than DBObjectProviderFactory.findOrCreateProvider(java.lang.Object)
because you can pass the context in directly. When fired from a context menu listener, findOrCreateProvider
may fail because the ide context returned by Context.newIdeContext() can differ from the context passed into a context menu listener. This method relies on the nodes in the context implementing the oracle.ide.db.model interfaces.
If the connection is not already made, calling this method will connect to the database. Furthermore, if a connection to the db cannot be made the exception is logged and null is returned.
Context menu listeners should use this for any database specific work in the product.
getCurrentConnection(oracle.ide.Context)
public DatabaseConnections getStore(java.lang.String storeName)
CENTRAL_STORE
.public java.lang.String getShortLabel(java.lang.String storeName)
public javax.swing.Icon getIcon(java.lang.String storeName)
public java.lang.String getToolTipText(java.lang.String storeName)
@Deprecated public void registerStoreProvider(StoreProvider provider)
<database-connection-hook> <store-providers> <store-provider>com.example.db.MyStoreProvider.class</store-provider> </store-providers> </database-connection-hook>
public static DatabaseProvider getReferenceable(java.lang.String storeName, java.lang.String connName)
storeName
- the store to look inconnName
- the connection name to look for