Oracle Fusion Middleware extensions for Applications Core API Reference
11g Release 1 (11.1.1.6)

E22562-05

oracle.apps.fnd.applcore.dt.patterns.metadata.creator.common
Class CommitablePanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by oracle.apps.fnd.applcore.dt.patterns.metadata.creator.common.CommitablePanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
GenericDialogDetailsBound, GenericDialogDetailsMasterBound, GenericDialogDetailsTableBound, GenericDialogDetailsUnboundForm, GenericFormCreatorPanel, GenericTableCreatorPanel, GenericTreeCreationPanel, MDMultiCreatorPanel, MDTreeDetailPanel

public abstract class CommitablePanel
extends javax.swing.JPanel
implements java.beans.PropertyChangeListener

A CommitablePanel is a panel capable of being commit()'d.

Author:
David Groves <david.groves@oracle.com>
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  oracle.adfdt.view.common.binding.standalone.BinderGui _binderGuiRO
           
protected  oracle.adfdt.view.common.binding.standalone.BinderGui _binderGuiRW
           
protected  javax.swing.JComponent _centerComponent
          Cached centre component on page, switched out based on _readonly.
protected  javax.swing.JPanel _centre
          Centre of panel, will contain read-only checkbox and table component.
protected  org.w3c.dom.Element _commitElement
           
protected  boolean _componentFirst
          Component first or data first.
protected  oracle.adfdt.model.objects.DataControl _dataControl
           
protected  oracle.binding.meta.NamedDefinition _definition
           
protected  org.w3c.dom.Document _document
           
protected  oracle.adfdt.ADFDesignTimeContext _dtContext
           
protected  java.util.List<oracle.binding.meta.NamedDefinition> _injectedAttributes
           
protected  java.util.Map<java.lang.String,java.lang.String> _injectedBindingExprs
           
protected  oracle.bali.xml.gui.jdev.JDevXmlContext _jdevXmlContext
           
protected  javax.swing.JCheckBox _readOnly
          Do we create read-only attributes.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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
CommitablePanel()
           
 
Method Summary
protected  void addCenter(javax.swing.JComponent comp)
          Add comp to the centre of this panel.
protected  void bindingObjectChanged()
          A method designed to be over-ridden to add custom logic, to be run when the binding property changes in response to a user "bind data now".
abstract  org.w3c.dom.Element commit()
          Commit the gui to the model.
protected  void configureLayout()
          Configure the layout of the panel.
 javax.swing.JPanel getAdditionalPanel(int index)
          Obtain any additional Panels required to complete the DT.
 int getAdditionalPanelsCount()
          How many additional panels do we need?
 java.lang.Object getBindingProperty()
          Obtain the binding property obtained when the user deceides to "bind data now".
 java.lang.String getCommittedIteratorId()
          Obtain the IteratorId for the committed collection; null if this panel has not been committed or if it is not committed to ADF (and there are no page bindings).
 oracle.adfdt.model.objects.DataControl getDataControl()
          Obtain the DataControl, either known from the data first drag/drop or selected fom component first using "bind data now" selections.
 java.lang.String getInjectedBindingExpr(java.lang.String attrName)
          Get the binding expression for the given attribute.
 oracle.binding.meta.NamedDefinition getNamedDefinition()
          Get the named definition of the collection in use, whether from component or data first.
 void injectAttribute(oracle.binding.meta.NamedDefinition injectableAttribute)
          Inject an attribute into this panel.
protected  boolean isComponentFirst()
          Are we component or data first?
protected  boolean isReadOnly()
          Are we read-only (that is has the readonly checkbox been checked.
protected  void populateMain()
          Populate the main (centre) part of the page.
protected  void populateMainComponentFirst()
          Populate the main (centre) part of the page in a component first scenario.
protected  void populateMainDataFirst()
          Populate the main (centre) part of the page in a data first scenario.
protected  void populateReadOnlyCB(java.lang.String label, boolean readonly)
          Populate the read-only checkbox.
 void postCommit(org.w3c.dom.Element master, org.w3c.dom.Element detail)
          Perform any post-commit steps on the panel.
 void propertyChange(java.beans.PropertyChangeEvent evt)
          This method gets called when a bound property is changed.
protected  void readOnlyChanged()
          A simple callback for when the readonly checkbox changes.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
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, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_jdevXmlContext

protected oracle.bali.xml.gui.jdev.JDevXmlContext _jdevXmlContext

_dtContext

protected oracle.adfdt.ADFDesignTimeContext _dtContext

_document

protected org.w3c.dom.Document _document

_injectedAttributes

protected java.util.List<oracle.binding.meta.NamedDefinition> _injectedAttributes

_injectedBindingExprs

protected java.util.Map<java.lang.String,java.lang.String> _injectedBindingExprs

_centre

protected javax.swing.JPanel _centre
Centre of panel, will contain read-only checkbox and table component.


_componentFirst

protected boolean _componentFirst
Component first or data first.


_readOnly

protected javax.swing.JCheckBox _readOnly
Do we create read-only attributes.


_centerComponent

protected javax.swing.JComponent _centerComponent
Cached centre component on page, switched out based on _readonly.


_dataControl

protected oracle.adfdt.model.objects.DataControl _dataControl

_definition

protected oracle.binding.meta.NamedDefinition _definition

_commitElement

protected org.w3c.dom.Element _commitElement

_binderGuiRO

protected oracle.adfdt.view.common.binding.standalone.BinderGui _binderGuiRO

_binderGuiRW

protected oracle.adfdt.view.common.binding.standalone.BinderGui _binderGuiRW
Constructor Detail

CommitablePanel

public CommitablePanel()
Method Detail

getDataControl

public oracle.adfdt.model.objects.DataControl getDataControl()
Obtain the DataControl, either known from the data first drag/drop or selected fom component first using "bind data now" selections.

Returns:
DataControl, or null if component first and no data selected.

commit

public abstract org.w3c.dom.Element commit()
                                    throws java.lang.Exception
Commit the gui to the model.

Returns:
an Element representing the generated data.
Throws:
java.lang.Exception - if any problem.

postCommit

public void postCommit(org.w3c.dom.Element master,
                       org.w3c.dom.Element detail)
                throws java.lang.Exception
Perform any post-commit steps on the panel.

Parameters:
master - master element to decorate.
detail - detail element to decorate.
Throws:
java.lang.Exception - if any problems.

configureLayout

protected void configureLayout()
Configure the layout of the panel.


isComponentFirst

protected boolean isComponentFirst()
Are we component or data first?

Returns:
true if component first.

populateReadOnlyCB

protected void populateReadOnlyCB(java.lang.String label,
                                  boolean readonly)
Populate the read-only checkbox.

Parameters:
label - the label on the check box
readonly - dafault value of the read only checkbox.

isReadOnly

protected boolean isReadOnly()
Are we read-only (that is has the readonly checkbox been checked.

Returns:
true if readonly, false otherwise.

readOnlyChanged

protected void readOnlyChanged()
A simple callback for when the readonly checkbox changes.


populateMain

protected void populateMain()
Populate the main (centre) part of the page. Takes care of component/data first scenarios.


populateMainDataFirst

protected void populateMainDataFirst()
Populate the main (centre) part of the page in a data first scenario.


populateMainComponentFirst

protected void populateMainComponentFirst()
Populate the main (centre) part of the page in a component first scenario.


addCenter

protected void addCenter(javax.swing.JComponent comp)
Add comp to the centre of this panel. Any existing component will be removed first so as not to continuously stack them up.

Parameters:
comp - the component to add.

getNamedDefinition

public oracle.binding.meta.NamedDefinition getNamedDefinition()
Get the named definition of the collection in use, whether from component or data first. This method may return null if no collection is selected (component first).

Returns:
NamedDefinition in use.

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
This method gets called when a bound property is changed.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
evt - A PropertyChangeEvent object describing the event source and the property that has changed.

getBindingProperty

public java.lang.Object getBindingProperty()
Obtain the binding property obtained when the user deceides to "bind data now". If they have not bound the data, this method will return null, if this panel is called in data first mode (in which case the binding is pre-determined on construction), then it will return null. If the user has selected a binding, then it will most likely return an instance of Two<NamedDefinition, DataControl> (in the case of binding to ADF).

Returns:
binding property.

bindingObjectChanged

protected void bindingObjectChanged()
A method designed to be over-ridden to add custom logic, to be run when the binding property changes in response to a user "bind data now".


injectAttribute

public void injectAttribute(oracle.binding.meta.NamedDefinition injectableAttribute)
Inject an attribute into this panel. It will be commited to the binding container if not already there on commit.

Parameters:
injectableAttribute -

getInjectedBindingExpr

public java.lang.String getInjectedBindingExpr(java.lang.String attrName)
Get the binding expression for the given attribute. Panel MUST have been committed for this method to return valid values.

Parameters:
attrName - example Col1
Returns:
expr for attrName, example #{bindings.Col1.inputValue}

getAdditionalPanel

public javax.swing.JPanel getAdditionalPanel(int index)
Obtain any additional Panels required to complete the DT. These panels may be added to new Wizard Steps.

Parameters:
index - 0 based index.
Returns:
JPanel to show, null if not relevant.

getAdditionalPanelsCount

public int getAdditionalPanelsCount()
How many additional panels do we need?

Returns:
0 by default.

getCommittedIteratorId

public java.lang.String getCommittedIteratorId()
Obtain the IteratorId for the committed collection; null if this panel has not been committed or if it is not committed to ADF (and there are no page bindings).

Returns:
the id of the committed iterator.

Oracle Fusion Middleware extensions for Applications Core API Reference
11g Release 1 (11.1.1.6)

E22562-05

Copyright © 2012 Oracle. All Rights Reserved.