public class DBObjectIDComponentWrapper
extends oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
The default behaviour uses the metadata for the property, specifically the @References annotation, to determine the right chooser configuration. This class can be subclassed to provide custom logic for properties where required.
Constructor and Description |
---|
DBObjectIDComponentWrapper()
Constructs a new wrapper for editing a DBObjectID.
|
Modifier and Type | Method and Description |
---|---|
protected DBObjectChooser |
createObjectChooser(DBObjectChooser parent,
java.lang.String... types)
Allow subclasses to override the construction of the DBObjectChooser
|
java.awt.Component |
getDefaultFocusComponent()
Gets the particular Component that is the focus of the property value.
|
protected Schema |
getDefaultSchema()
Gets the default schema to use in all the choosers.
|
protected javax.swing.text.Document |
getDocument()
Gets the default Document that this wrapper will listen to.
|
java.awt.Component[] |
getFocusComponents()
The UI components whose focus events the component wrapper should listen
to (and inform the owning panel of).
|
protected DBObjectChooser |
getObjectChooser()
Returns the DBObjectChooser used to select the referenced object.
|
protected DBObjectChooser |
getParentChooser()
Returns the DBObjectChooser used to select the parent of the referenced object.
|
java.lang.Object |
getPropertyValue()
Gets the value of the property as currently set in the UI Component
e.g.
|
protected DBObjectChooser |
getSchemaChooser()
Returns the DBObjectChooser used to select the Schema of the referenced object.
|
protected void |
initialiseComponent()
If any setup of the Component is needed after the provider/object are
known override this method and implement there.
|
protected void |
initialiseComponentListener()
Initialises a listener to listen to focus changes to any Component
returned by
AsynchronousComponentWrapper.getFocusComponents() . |
protected void |
initialiseNewObject(SystemObject obj)
If the add button is included, this method will be called on any new
object prior to it displaying in the create dialog.
|
protected boolean |
isEditable()
Tests whether the chooser(s) should be editable.
|
protected boolean |
isFixedSchema()
Tests whether the schema is fixed, and therefore no schema combo should
be displayed regardless of the property information.
|
protected boolean |
isIncludeContextObject()
Tests whether the chooser should include the context object we are
editing (assuming it matches the types listed by the chooser).
|
protected boolean |
isShowAddButton()
Tests whether the chooser should include an "add" button for creating
(and selecting) new objects.
|
protected boolean |
isShowDBLinkButton()
Tests whether the schema chooser (if there is one) should include the
dblink button for selecting via a database link.
|
protected boolean |
isShowEditButton()
Tests whether the chooser should include an "edit" button for editing
the currently selected object
|
protected void |
setActiveImpl(boolean active)
Called when a ComponentWrapper is activated/deactivated - typically onEntry/onExit of the
owning panel.
|
protected void |
setPropertyValueImpl(java.lang.Object value)
Implementation of
AsynchronousDocumentComponentWrapper.setPropertyValue(java.lang.Object) which is called with a
guarantee that the DocumentListener won't be active. |
protected void |
setupObjectChooser(DBObjectChooser chooser)
Perform any addition configuration of the object chooser before it has
the DBObjectProvider and set (i.e.
|
protected void |
setupParentChooser(DBObjectChooser chooser)
Perform any addition configuration of the parent object chooser before
it has the DBObjectProvider set (i.e.
|
void |
setValidationStatus(java.util.Collection<ValidationException> ves,
oracle.ideimpl.db.validate.DBValidationHandler handler)
Sets the validation status of the wrapped property value.
|
addDocumentListener, documentChanged, gainingFocus, isListenOnFocusOnly, losingFocus, setPropertyValue
cancelCurrentWrapper, cancelUpdates, commitCurrentWrapper, isDirty, markDirty, prepareForWrite, registerCancellingComponent, writeFinished, writeUpdates
addListener, addVetoListener, checkPropertyIsSupported, createComponentForLayout, fireChangeEvent, fireVetoableChangeEvent, getActiveComponent, getCellEditorComponent, getComponent, getComponentContext, getDefaultValidationComponent, getExistingPropertyValue, getLabel, getLogger, getOriginalObject, getOriginalPropertyValue, getPropertyDisplayName, getPropertyHelper, getPropertyName, getProvider, getUpdatedObject, initialise, isActive, isSupported, isVolatile, processComponent, refreshObject, removeListener, removeVetoListener, resetPropertyValue, resourceComponent, setActive, setEnabled, setPropertyDisplayName, setReadOnly, setUIReadOnly, setVisible, showError
public DBObjectIDComponentWrapper()
public java.lang.Object getPropertyValue()
ComponentWrapper
getPropertyValue
in class ComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
public void setValidationStatus(java.util.Collection<ValidationException> ves, oracle.ideimpl.db.validate.DBValidationHandler handler)
ComponentWrapper
By default this applys the status highlight to the default validation component.
setValidationStatus
in class ComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
ves
- what is wrong with the value (can be null or empty to
signify that the value is valid).handler
- the calling handler.ComponentWrapper.getDefaultValidationComponent()
protected void setPropertyValueImpl(java.lang.Object value)
oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper
AsynchronousDocumentComponentWrapper.setPropertyValue(java.lang.Object)
which is called with a
guarantee that the DocumentListener won't be active.setPropertyValueImpl
in class oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
value
- the property value to set in the UIprotected void initialiseComponent()
ComponentWrapper
initialiseComponent
in class ComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
protected javax.swing.text.Document getDocument()
oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper
getDocument
in class oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
protected void initialiseComponentListener()
oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper
AsynchronousComponentWrapper.getFocusComponents()
. The listener calls
ComponentWrapper.fireChangeEvent()
when focus is lost, if AsynchronousComponentWrapper.markDirty()
has been called.
Implementing classes MUST call this superclass representation if they want the asynchronous functionality
In addition to the focus listeners, the Document returned by
AsynchronousDocumentComponentWrapper.getDocument()
will be passed to
AsynchronousDocumentComponentWrapper.addDocumentListener(Document)
ensuring that changes made while
the component has focus will call AsynchronousComponentWrapper.markDirty()
.
initialiseComponentListener
in class oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
protected void setActiveImpl(boolean active)
ComponentWrapper
setActiveImpl
in class oracle.ideimpl.db.components.AsynchronousDocumentComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
public java.awt.Component[] getFocusComponents()
oracle.ideimpl.db.components.AsynchronousComponentWrapper
getFocusComponents
in class oracle.ideimpl.db.components.AsynchronousComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
public java.awt.Component getDefaultFocusComponent()
ComponentWrapper
By default this returns the active component.
getDefaultFocusComponent
in class oracle.ideimpl.db.components.AsynchronousComponentWrapper<oracle.ideimpl.db.controls.IdPanel>
protected void setupObjectChooser(DBObjectChooser chooser)
chooser
- the "object" chooser for this wrapper.protected void setupParentChooser(DBObjectChooser chooser)
chooser
- the "parent" chooser for this wrapper.protected boolean isEditable()
protected boolean isIncludeContextObject()
protected boolean isFixedSchema()
protected Schema getDefaultSchema()
protected boolean isShowAddButton()
protected boolean isShowEditButton()
protected boolean isShowDBLinkButton()
protected void initialiseNewObject(SystemObject obj)
obj
- the new object about to be createdprotected DBObjectChooser createObjectChooser(DBObjectChooser parent, java.lang.String... types)
parent
- types
- protected final DBObjectChooser getSchemaChooser()
protected final DBObjectChooser getParentChooser()
protected final DBObjectChooser getObjectChooser()