public class LazyLoadedTraversable extends ProjectSettingsTraversablePanel implements Traversable, ApplyListener, LazyTraversable
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
CHAINED_PROPERTY_DATA_KEY, DEFAULT_PROJECT_KEY, EDITING_CUSTOM_PROPERTIES_KEY, PROPERTY_DATA_KEY, USER_ONLY_PROPERTY_DATA_KEY
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
LazyLoadedTraversable(MetaClass traversableMetaClass,
java.lang.String providerExtensionId) |
Modifier and Type | Method and Description |
---|---|
void |
addHierarchyListenerForLoading(java.awt.event.HierarchyListener hierarchyListener)
Deprecated.
|
void |
addLazyLoadListener(LazyLoadListener listener)
Adds a listener to the wrapper Component so that when the the
"placeholder" component is removed and the real object
is displayed instead, appropriate changes can be made.
|
void |
apply(ApplyEvent e)
This method is called when the changes made in the
NavigableUIContainer are to be committed to the original
data structures. |
void |
cancel(ApplyEvent e)
This method is called when the changes made in the
NavigableUIContainer are to be discarded. |
java.awt.Component |
getComponent()
Returns
this by default. |
java.lang.String |
getDataKey()
Subclasses should implement this method and return the single
key used to identify their project properties, unless
the UI describes properties that span more than a single
HashStructure , in which case null
should be returned. |
java.lang.Object |
getExitTransition()
Returns
null by default. |
java.lang.String |
getHelpID()
This method allows a subclass to implement a dynamic means of
determining the help ID.
|
java.lang.String[] |
getPropertyKeys()
Subclasses must implement this method and return the list of
property keys for this Project Properties panel.
|
boolean |
isActingLazy()
Indicates whether the real traversable object is being used
or the lazy wrapper is displayed to let the user choose to load
the extension that provides the real object.
|
boolean |
isUserOnly()
The default implementation returns
false , indicating
that the properties that are edited on this panel can be set
at the user and at the project level. |
void |
onEntry(TraversableContext dataContext)
Does nothing by default.
|
void |
onExit(TraversableContext dataContext)
Does nothing by default.
|
void |
onProjectPanelEntry(TraversableContext traversableContext)
Subclasses must implement this method which is invoked when the
panel is about to be displayed.
|
void |
removeHierarchyListenerForLoading(java.awt.event.HierarchyListener hierarchyListener)
Deprecated.
|
void |
removeLazyLoadListener(LazyLoadListener listener)
Removes the suplied listener.
|
activateProperties, add, add, add, add, arePropertiesOverridden, editingUserProperties, editsSharedProperties, getHashAdapterDelegateKey, getLayout, getProject, getProject, getProjectsOwningWorkspace, getPropertyData, isDefaultProject, isEditingSharedProperties, remove, remove, removeAll, setLayout, supportsSharedProperties
gbc, gbc, getDefaultTitle, getText, setDefaultTitle, setHelpID
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public LazyLoadedTraversable(MetaClass traversableMetaClass, java.lang.String providerExtensionId)
public void onEntry(TraversableContext dataContext)
DefaultTraversablePanel
onEntry
in interface Traversable
onEntry
in class ProjectSettingsTraversablePanel
dataContext
- The data wrapper where the
Traversable
locates the data that it needs to
populate the UI.Traversable.onEntry(TraversableContext)
public java.awt.Component getComponent()
DefaultTraversablePanel
this
by default.getComponent
in interface LazyTraversable
getComponent
in interface Traversable
getComponent
in class DefaultTraversablePanel
Component
that the user interacts with
for creating or editing an object.Traversable.getComponent()
public void onExit(TraversableContext dataContext) throws TraversalException
DefaultTraversablePanel
onExit
in interface Traversable
onExit
in class DefaultTraversablePanel
dataContext
- The data object where changes made in the UI
should be copied so that the changes can be accessed by other
Traversable
s.TraversalException
- if the user has entered either
incomplete, invalid, or inconsistent data. This exception
prevents the property dialog or wizard from continuing and
forces the user to stay on the current Traversable
until the data entered is valid or the user cancels. The
exception class itself is capable of carrying an error message
that will be shown to the user. Refer to its javadoc for details.Traversable.onExit(TraversableContext)
public java.lang.Object getExitTransition()
DefaultTraversablePanel
null
by default.getExitTransition
in interface Traversable
getExitTransition
in class DefaultTraversablePanel
Traversable
that is used by dynamic interview-style wizards to determine
the next course of action. A Traversable
class
that does not support multiple possible transitions should
just return null
.Traversable.getExitTransition()
public java.lang.String getHelpID()
DefaultTraversablePanel
getHelpID
in interface Traversable
getHelpID
in class DefaultTraversablePanel
public boolean isActingLazy()
LazyTraversable
isActingLazy
in interface LazyTraversable
public void apply(ApplyEvent e)
ApplyListener
NavigableUIContainer
are to be committed to the original
data structures. This normally occurs when the user pushes the
"OK", "Apply", or "Finish" button.
This method is called as soon as the user's action is recognized.
Typically, if the NavigableUIContainer
is editing a copy
of the original data, there will be an ApplyListener
registered that is responsible for flushing the changes from the
edited data copy back to the original data structure. The API in
the oracle.ide.panels
package does not specify when
such an ApplyListener
is registered or whether one
is registered at all.
If you are writing code that must depend on the registration order
of such an ApplyListener
, you will need to consult
the documentation for the code that instantiates the
NavigableUIContainer
to determine if the registration
order for ApplyListener
s is specified there.
apply
in interface ApplyListener
e
- The ApplyEvent
that provides contextual
information about when the ApplyEvent
was fired.public void cancel(ApplyEvent e)
ApplyListener
NavigableUIContainer
are to be discarded. This normally
occurs when the user pushes the "Cancel" button.
No data validation occurs when the user cancels, and the
NavigableUIContainer
may or may not call the onExit
method of the
currently showing Traversable
. In general,
onExit
will not be called.
cancel
in interface ApplyListener
e
- The ApplyEvent
that provides contextual
information about when the ApplyEvent
was fired.public void onProjectPanelEntry(TraversableContext traversableContext)
ProjectSettingsTraversablePanel
Note: This method should be protected. This method should
not be called directly; instead use ProjectSettingsTraversablePanel.onEntry(oracle.ide.panels.TraversableContext)
when displaying
this panel.
onProjectPanelEntry
in class ProjectSettingsTraversablePanel
traversableContext
- the shared data contextpublic java.lang.String getDataKey()
ProjectSettingsTraversablePanel
HashStructure
, in which case null
should be returned.getDataKey
in class ProjectSettingsTraversablePanel
null
ProjectSettingsTraversablePanel.getPropertyKeys()
public java.lang.String[] getPropertyKeys()
ProjectSettingsTraversablePanel
HashStructure
,
subclasses should implement ProjectSettingsTraversablePanel.getDataKey()
and return the key used to store the set of properties, then
this method should return the keys as short property names like:
"debugInformation"
HashStructure
, the property keys must be in the
form:
"oracle.jdeveloper.compiler.OjcConfiguration/debugInformation"
getPropertyKeys
in class ProjectSettingsTraversablePanel
ProjectSettingsTraversablePanel.getDataKey()
public boolean isUserOnly()
ProjectSettingsTraversablePanel
false
, indicating
that the properties that are edited on this panel can be set
at the user and at the project level.
Subclasses that provide UI for user-only properties, those which are
never stored in the project, should override this method and
return true
.
isUserOnly
in class ProjectSettingsTraversablePanel
true
if the properties can only be set at the
user level, false
otherwisepublic void addLazyLoadListener(LazyLoadListener listener)
LazyTraversable
addLazyLoadListener
in interface LazyTraversable
listener
- a LazyLoadListener objectpublic void removeLazyLoadListener(LazyLoadListener listener)
LazyTraversable
removeLazyLoadListener
in interface LazyTraversable
listener
- a LazyLoadListener object@Deprecated public void addHierarchyListenerForLoading(java.awt.event.HierarchyListener hierarchyListener)
addHierarchyListenerForLoading
in interface LazyTraversable
@Deprecated public void removeHierarchyListenerForLoading(java.awt.event.HierarchyListener hierarchyListener)
removeHierarchyListenerForLoading
in interface LazyTraversable