public abstract class DBObjectProviderPicker
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
DBObjectProviderPicker.PickerConfiguration
Configuration class that allows control over the options for the
DBObjectProviderPicker returned by
getPicker(oracle.ide.db.controls.DBObjectProviderPicker.PickerConfiguration) . |
static interface |
DBObjectProviderPicker.PickerListener
Listener class that flags changes in the provider picker selection
|
Constructor and Description |
---|
DBObjectProviderPicker() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
addImplementationListener()
Add a listener to the picker implementation.
|
void |
addPickerListener(DBObjectProviderPicker.PickerListener pickerListener)
Add a listener for changes to the DBObjectProviderPicker
|
static DBObjectProvider |
chooseProvider(DBObjectProviderPicker.PickerConfiguration config,
java.awt.Component parent,
java.lang.String title,
java.lang.String prompt,
java.lang.String helpID)
Prompts the user with a dialog to choose a provider using the given
configuration.
|
protected void |
firePickerChanged(DBObjectProviderID providerID)
Tell all the listeners that the ProviderPicker has changed.
|
abstract java.awt.Component |
getComponent()
Get the UI Component to embed into a wizard or dialog for the user to choose a
provider.
|
protected java.lang.String |
getDefaultProviderType(DBObjectProviderPicker.PickerConfiguration config)
Gets a default DBObjectProvider type for the given configuration.
|
static DBObjectProviderPicker |
getPicker(DBObjectProviderPicker.PickerConfiguration config)
Get a DBObjectProviderPicker relevant to the given configuration options.
|
DBObjectProvider |
getProvider()
Get the selected DBObjectProvider from the picker.
|
abstract DBObjectProviderID |
getProviderID()
Get the type and identifier for the DBObjectProvider in an ID object.
|
boolean |
hasDBObjectProvider()
Tests whether this picker has a provider selected.
|
protected abstract void |
init(DBObjectProviderPicker.PickerConfiguration config)
Initialize the DBObjectProviderPicker.
|
protected abstract boolean |
isAvailable(DBObjectProviderPicker.PickerConfiguration config)
Used internally to determine which registered pickers are available.
|
protected abstract void |
removeImplementationListener()
Remove the listener from the picker implementation.
|
void |
removePickerListener(DBObjectProviderPicker.PickerListener pickerListener)
Remove a picker listener.
|
void |
setProvider(DBObjectProvider provider)
Set the provider that is currently selected in the picker, or null to
clear the current selection.
|
abstract void |
setProvider(java.lang.String providerType,
java.lang.Object identifier)
Sets the chosen provider details (without needing a provider instance).
|
void |
setRelatedPicker(DBObjectProviderPicker other)
In cases where two providers are being chosen, and they should match,
this sets the "other" picker.
|
public abstract java.awt.Component getComponent()
public final void setProvider(DBObjectProvider provider)
public void setRelatedPicker(DBObjectProviderPicker other)
By default this does nothing. Implement when automatic create is supported.
other
- another provider picker whose selection should be taken
in to account if creating a provider in this picker.public abstract void setProvider(java.lang.String providerType, java.lang.Object identifier)
providerType
- the type of provider to selectidentifier
- the identifier for the chosen providerpublic DBObjectProvider getProvider() throws DBException
Note: This can be called on the event thread so implementations should ensure that any potentially long running provider creation is threaded (e.g.connecting to a slow/dead database).
DBException
- if the chosen provider cannot be created
(e.g. connection error)public abstract DBObjectProviderID getProviderID()
public boolean hasDBObjectProvider()
protected java.lang.String getDefaultProviderType(DBObjectProviderPicker.PickerConfiguration config)
No two DBObjectProviderPicker implementations should disagree on the value for a given Context.
config
- the configuration (containing the IDE Context).protected abstract boolean isAvailable(DBObjectProviderPicker.PickerConfiguration config)
protected abstract void init(DBObjectProviderPicker.PickerConfiguration config)
protected abstract void addImplementationListener()
firePickerChanged
This is called when the first PickerListener is added to
the current DBObjectProviderPicker instance.protected abstract void removeImplementationListener()
public final void addPickerListener(DBObjectProviderPicker.PickerListener pickerListener)
public final void removePickerListener(DBObjectProviderPicker.PickerListener pickerListener)
protected final void firePickerChanged(DBObjectProviderID providerID)
public static DBObjectProviderPicker getPicker(DBObjectProviderPicker.PickerConfiguration config)
config
- the configuration options for creating and setting up
the picker.public static DBObjectProvider chooseProvider(DBObjectProviderPicker.PickerConfiguration config, java.awt.Component parent, java.lang.String title, java.lang.String prompt, java.lang.String helpID)
config
- the configuration to govern the choices the user can makeparent
- the Component to parent the dialog withtitle
- the title for the dialog