Oracle ADF Model and Business Components API Reference 10.1.2 B14022-02


oracle.jbo.uicli.jui
Class JUPanelBinding

java.lang.Object
  extended byjava.util.AbstractMap
      extended byoracle.jbo.common.JboAbstractMap
          extended byoracle.adf.model.binding.DCBindingContainer
              extended byoracle.jbo.uicli.binding.JUFormBinding
                  extended byoracle.jbo.uicli.jui.JUPanelBinding

All Implemented Interfaces:
JboExceptionHandler, java.util.Map

public class JUPanelBinding
extends JUFormBinding

A container class that manages JUIteratorBindings, etc. by extending the JUFormBinding class. It provides:


Nested Class Summary

Nested classes inherited from class java.util.Map
java.util.Map.Entry

Field Summary
protected java.lang.String mAppName
protected java.util.ArrayList mIteratorChangedListeners
protected java.util.ArrayList mNavigationBarList

Fields inherited from class oracle.adf.model.binding.DCBindingContainer
mControlList, mDataControl, mDataProvider, mIterBindingList

Constructor Summary
JUPanelBinding()
*** For internal framework use only ***
JUPanelBinding(javax.swing.JPanel panel)
Applications should use this constructor to create a panel binding and associate it with a swing JPanel object.
JUPanelBinding(java.lang.String name)
Temporary placeholder panelBinding created by wizard.
JUPanelBinding(java.lang.String appName, javax.swing.JPanel panel)
Creates an instance of this class, associating it with a JPanel object and a JUApplication identified by appName.
JUPanelBinding(java.lang.String appName, java.lang.String amName, javax.swing.JPanel panel)
Creates an instance of this class, associating it with a JPanel object and a JUApplication identified by appName.

Method Summary
void addBindingWithCellEditor(JUPanelStopEditingListener binding)
Adds a listener that is interested in notification such that it stops its control's edit process before the panel is moved to a different set of data.
void addIteratorChangedListener(JUIteratorChangedListener l)
Adds a listener that should be notified when the iterator behind an iterator binding object changes or the display mode changes from find to data mode or the reverse.
void addNavigationBar(JUNavigationBarInterface navBar)
Adds a NavigationBar (or like object) that needs to listen into changes in an iterator, and focus events, etc.
void addRowSetListener(JUPanelRowSetListener l)
Adds the given listener to this panel's RowSet listeners list.
void bindRowSetIterator(java.lang.String iterBindingName, RowSetIterator rsi)
Binds the iterator identified by iterBindingName in this panel with another iterator.
void bindRowSetIterator(java.lang.String iterBindingName, java.lang.String voInstanceName)
Binds the iterator identified by iterBindingName in this panel with another ViewObject in the current application module identified by the given voInstanceName.
java.lang.Object bindUIControl(java.lang.String controlBindingName, java.lang.Object control)
Used by generated code to bind a ui control to the defined binding object in this container identified by 'controlBindingName'.
void callBeforeRowNavigated(DCIteratorBinding iter)
Forces the current control to stop its editing mode (if used, like in JTable).
void callBeforeSaveTransaction(DCDataControl dc)
Forces the current control to stop its editing mode (if used, like in JTable).
void callBeforeSaveTransaction(Transaction txn)
Deprecated. since 9.0.5, Use callBeforeSaveTransaction(DCDataControl)
void focusGained(DCIteratorBinding iterBinding, DCControlBinding binding, int attrIndex)
Notifies the JUApplication object of focusGained event so that it could pass it on to its StatusBarInterface listeners (like JUStatusBar to update status message).
java.lang.String getApplicationName()
Returns the name of the JUApplication object in which this Panel binding was created.
java.lang.String getAppModuleName()
Returns the Application Module instance name to which this Panel binding is connected.
java.lang.String getLabel(java.lang.String voName, java.lang.String attrName, LocaleContext locale)
Retrieves the label to be used in any attribute prompts
java.lang.String getLabel(java.lang.String voName, java.lang.String voAttrName, java.lang.String objectAttrName, LocaleContext locale)
Retrieves the label to be used in any attribute prompts
java.util.ArrayList getRowSetListeners()
Returns a list of JUPanelRowSetListeners (returns an empty list if no such listener was registered).
java.lang.String getTooltip(java.lang.String voName, java.lang.String attrName, LocaleContext locale)
Retrives the tooltip text to be used for this attribute.
java.lang.String getTooltip(java.lang.String voName, java.lang.String voAttrName, java.lang.String objectAttrName, LocaleContext locale)
Retrives the tooltip text to be used for this attribute.
protected void initializeApplicationModule()
Sets up the JUApplication and Application Module references based on name passed to this object via the constructors or various setter methods.
void initializePanel(java.util.ArrayList controls)
*** For internal framework use only ***
boolean isEditingStopped()
Jclient uses this to indicate if stopEdit completed before datacontrol can proceed with update cycle (commit etc).
boolean isTransactionDirty()
Returns true, if the Transaction behind the associated ApplicationModule has pending changes In three-tier, this method will go across the tier boundary to get the actual middle-tier transaction status.
protected void navigated(DCIteratorBinding iter, NavigationEvent event)
Invoked when a JUIteratorBinding receives a navigated Event from BC4J RowSetIterator
void notifyIteratorChanged(DCIteratorBinding iterBnd, boolean refresh)
*** For internal framework use only ***
protected void rangeRefreshed(DCIteratorBinding iter, RangeRefreshEvent event)
Invoked when a JUIteratorBinding receives a rangeRefreshed Event from BC4J RowSetIterator
protected void rangeScrolled(DCIteratorBinding iter, ScrollEvent event)
Invoked when a JUIteratorBinding receives a rangeScrolled Event from BC4J RowSetIterator
void release(int flags)
Applications should release the DataControl which will end up calling this method for all binding containers in the datacontrol.
void releaseDataControl()
void removeBindingWithCellEditor(JUPanelStopEditingListener binding)
Removes a listener from the list.
void removeIteratorChangedListener(JUIteratorChangedListener l)
Remove a listener from this list.
void removeNavigationBar(JUNavigationBarInterface navBar)
Removes a JUNavigationBarInterface listener object from the list.
void removeRowSetListener(JUPanelRowSetListener l)
Removes the given listener from this panel's RowSet listeners list.
void requestRefreshControl()
Called by bindings that may have changed model properties and need a refresh of the model/whole bindingContainer.
protected void rowDeleted(DCIteratorBinding iter, DeleteEvent event)
Invoked when a JUIteratorBinding receives a rowDeleted Event from BC4J RowSetIterator
protected void rowInserted(DCIteratorBinding iter, InsertEvent event)
Invoked when a JUIteratorBinding receives a rowInserted Event from BC4J RowSetIterator
protected void rowUpdated(DCIteratorBinding iter, UpdateEvent event)
Invoked when a JUIteratorBinding receives a rowUpdated Event from BC4J RowSetIterator
void setApplication(JUApplication app)
*** For internal framework use only *** Sets the ApplicationModule reference
void setEditingStopped(boolean flag)
Component/control bindings should set this flag false to indicate that stopEditing() call on them failed.
void setFindMode(boolean mode)
Sets this panel and all its associated iterators into find mode.
void setPanel(java.lang.Object panel)
Sets the given object as the JPanel object associated with this panel binding.
JUPanelBinding setup(BindingContext ctx, java.lang.Object panel)
void stopEditing()
Notifies all JUPanelStopEditingListeners to stop editing, so that their values can be updated with new set of data.
protected void useDefaultDataControl(BindingContext ctx)

Methods inherited from class oracle.jbo.uicli.binding.JUFormBinding
addIterBinding, addIterBinding, addStatusBarInterface, clearIterBindings, createIteratorBinding, displayInShortForm, displayStatus, displayStatus, findControlBinding, findCtrlValueBinding, findIterBinding, getApplication, getControlBinding, getControlType, getDisplayHeight, getDisplayHint, getDisplayWidth, getHint, getHint, getOrderedVOUsageList, getPanel, getRangeIterBinding, getRowIterBinding, hasFormatInformation, initializeViewComponent, removeIterBinding, removeStatusBarInterface, setPanelInternal

Methods inherited from class oracle.adf.model.binding.DCBindingContainer
addControlBinding, addControlBinding, addIteratorBinding, addIteratorBinding, addStatusBarInterface, addValidationListener, beforeCurrencyChange, beforeSaveTransaction, beforeSetAttribute, cacheException, callBeforeSetAttribute, clearIteratorBindings, displayStatus, execute, executeIfNeeded, findCtrlBinding, findIteratorBinding, findNamedObject, finishedProcessingPiggyback, get, getApplicationModule, getBindingContext, getCtrlBinding, getCtrlBinding, getCtrlBindingList, getDataControl, getDef, getEditingMode, getExceptionsList, getIteratorBinding, getIteratorBinding, getIterBindingList, getIterBindings, getLocaleContext, getName, getOrderedVOUsageList, getStateToken, getStateTokenId, getValidationListeners, getViewComponent, handleException, handleWarning, hashCode, initializeFromDef, internalGet, isErrorHandlerActive, isExecuteOnRollback, isFindMode, isTokenValidationEnabled, processException, processInputValues, refreshControl, release, removeControlBinding, removeControlBinding, removeIteratorBinding, removeStatusBarInterface, removeValidationListener, reportException, resetInputState, setApplicationModule, setBindingContext, setDataControl, setEnableTokenValidation, setErrorHandlerActive, setExecuteOnRollback, setFindMode, setName, setViewComponentInternal, toString, validateInputValues, validateToken

Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals

Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, isEmpty, keySet, put, putAll, remove, size, values

Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait

Field Detail

mAppName

protected java.lang.String mAppName

mNavigationBarList

protected java.util.ArrayList mNavigationBarList

mIteratorChangedListeners

protected java.util.ArrayList mIteratorChangedListeners

Constructor Detail

JUPanelBinding

public JUPanelBinding()
*** For internal framework use only ***

JUPanelBinding

public JUPanelBinding(javax.swing.JPanel panel)
Applications should use this constructor to create a panel binding and associate it with a swing JPanel object. The binding thus created needs to be added to a JUApplication object and is not completely usable until then.

JUPanelBinding

public JUPanelBinding(java.lang.String name)
Temporary placeholder panelBinding created by wizard.

JUPanelBinding

public JUPanelBinding(java.lang.String appName,
                      javax.swing.JPanel panel)
Creates an instance of this class, associating it with a JPanel object and a JUApplication identified by appName. This constructor is used in the JClient design time generated code to pass in the name of the Application Model definition name that identifies the middle-tier (BC4J) connection and configuration information.

JUPanelBinding

public JUPanelBinding(java.lang.String appName,
                      java.lang.String amName,
                      javax.swing.JPanel panel)
Creates an instance of this class, associating it with a JPanel object and a JUApplication identified by appName. This constructor is used in the JClient design time generated code to pass in the name of the Application Model definition name that identifies the middle-tier (BC4J) connection and configuration information. This constructor also takes in the application module name in case the BC4J application module for this panel is a nested application module.

Method Detail

setup

public JUPanelBinding setup(BindingContext ctx,
                            java.lang.Object panel)

setApplication

public void setApplication(JUApplication app)
*** For internal framework use only *** Sets the ApplicationModule reference
Overrides:
setApplication in class JUFormBinding

initializeApplicationModule

protected void initializeApplicationModule()
Sets up the JUApplication and Application Module references based on name passed to this object via the constructors or various setter methods.
Overrides:
initializeApplicationModule in class JUFormBinding

initializePanel

public void initializePanel(java.util.ArrayList controls)
*** For internal framework use only ***
Overrides:
initializePanel in class JUFormBinding

bindRowSetIterator

public void bindRowSetIterator(java.lang.String iterBindingName,
                               java.lang.String voInstanceName)
Binds the iterator identified by iterBindingName in this panel with another ViewObject in the current application module identified by the given voInstanceName.

bindRowSetIterator

public void bindRowSetIterator(java.lang.String iterBindingName,
                               RowSetIterator rsi)
Binds the iterator identified by iterBindingName in this panel with another iterator. This method notifies all JUIteratorChangeListeners in this panel of the change so that various NavigationBars, Menus, and Status bars can adjust their displays. Applications could register their own JUIteratorChangeListeners so that they get notified of data changes resulting from a change in iterator, thus allowing them to update the displays (like change button enabled state).

notifyIteratorChanged

public final void notifyIteratorChanged(DCIteratorBinding iterBnd,
                                        boolean refresh)
*** For internal framework use only ***

Notifies all JUIteratorChangedListeners and JUNavigationBarInterface objects registered with this panel of the change in iterator binding. If refresh parameter is true, like when there is a change in the iterator behind the iterator binding instance or a change in data/find mode of the panel, then this method raises a rangeRefreshed event on the iteratorBinding object so that all controls also adjust/udpate their displays.

Called internally by the framework also when an iterator that was bound is no more bound due to some button action. In this case iterBnd is null so that all navbars can disable themselves.

Overrides:
notifyIteratorChanged in class JUFormBinding

addIteratorChangedListener

public final void addIteratorChangedListener(JUIteratorChangedListener l)
Adds a listener that should be notified when the iterator behind an iterator binding object changes or the display mode changes from find to data mode or the reverse.

removeIteratorChangedListener

public final void removeIteratorChangedListener(JUIteratorChangedListener l)
Remove a listener from this list.

addNavigationBar

public final void addNavigationBar(JUNavigationBarInterface navBar)
Adds a NavigationBar (or like object) that needs to listen into changes in an iterator, and focus events, etc. By default the framework adds all Navigation Bars bound to the Panel Binding object into this list, so that these Navigation bars adjust their display based on current iterator in focus/use.

removeNavigationBar

public final void removeNavigationBar(JUNavigationBarInterface navBar)
Removes a JUNavigationBarInterface listener object from the list.

focusGained

public void focusGained(DCIteratorBinding iterBinding,
                        DCControlBinding binding,
                        int attrIndex)
Notifies the JUApplication object of focusGained event so that it could pass it on to its StatusBarInterface listeners (like JUStatusBar to update status message). Then this method notifies each JUNavigationBarInterface object in this object's list of the change in focus, so that the NavigationBars can adjust their display based on the current iterator binding.
Overrides:
focusGained in class JUFormBinding

getApplicationName

public final java.lang.String getApplicationName()
Returns the name of the JUApplication object in which this Panel binding was created.

getAppModuleName

public final java.lang.String getAppModuleName()
Returns the Application Module instance name to which this Panel binding is connected.

isTransactionDirty

public final boolean isTransactionDirty()
Returns true, if the Transaction behind the associated ApplicationModule has pending changes In three-tier, this method will go across the tier boundary to get the actual middle-tier transaction status.

setPanel

public final void setPanel(java.lang.Object panel)
Sets the given object as the JPanel object associated with this panel binding.
Overrides:
setPanel in class JUFormBinding

getRowSetListeners

public final java.util.ArrayList getRowSetListeners()
Returns a list of JUPanelRowSetListeners (returns an empty list if no such listener was registered).

addRowSetListener

public final void addRowSetListener(JUPanelRowSetListener l)
Adds the given listener to this panel's RowSet listeners list.

removeRowSetListener

public final void removeRowSetListener(JUPanelRowSetListener l)
Removes the given listener from this panel's RowSet listeners list.

callBeforeRowNavigated

public void callBeforeRowNavigated(DCIteratorBinding iter)
Forces the current control to stop its editing mode (if used, like in JTable). Calls beforeRowNavigated() method to notify all validation listeners.
Overrides:
callBeforeRowNavigated in class DCBindingContainer

callBeforeSaveTransaction

public void callBeforeSaveTransaction(DCDataControl dc)
Forces the current control to stop its editing mode (if used, like in JTable). Calls beforeSaveTransaction() method to notify all validation listeners.
Overrides:
callBeforeSaveTransaction in class DCBindingContainer

callBeforeSaveTransaction

public void callBeforeSaveTransaction(Transaction txn)
Deprecated. since 9.0.5, Use callBeforeSaveTransaction(DCDataControl)
Available for backward compatiblity only.

rangeRefreshed

protected void rangeRefreshed(DCIteratorBinding iter,
                              RangeRefreshEvent event)
Invoked when a JUIteratorBinding receives a rangeRefreshed Event from BC4J RowSetIterator
Overrides:
rangeRefreshed in class JUFormBinding
Parameters:
event - a description of the new ranges.

rangeScrolled

protected void rangeScrolled(DCIteratorBinding iter,
                             ScrollEvent event)
Invoked when a JUIteratorBinding receives a rangeScrolled Event from BC4J RowSetIterator
Overrides:
rangeScrolled in class JUFormBinding
Parameters:
event - a description of the new range.

rowInserted

protected void rowInserted(DCIteratorBinding iter,
                           InsertEvent event)
Invoked when a JUIteratorBinding receives a rowInserted Event from BC4J RowSetIterator
Overrides:
rowInserted in class JUFormBinding
Parameters:
event - a description of the new Row object.

rowDeleted

protected void rowDeleted(DCIteratorBinding iter,
                          DeleteEvent event)
Invoked when a JUIteratorBinding receives a rowDeleted Event from BC4J RowSetIterator
Overrides:
rowDeleted in class JUFormBinding
Parameters:
event - a description of the deleted Row object.

rowUpdated

protected void rowUpdated(DCIteratorBinding iter,
                          UpdateEvent event)
Invoked when a JUIteratorBinding receives a rowUpdated Event from BC4J RowSetIterator
Overrides:
rowUpdated in class JUFormBinding
Parameters:
event - a description of the modified Row object.

navigated

protected void navigated(DCIteratorBinding iter,
                         NavigationEvent event)
Invoked when a JUIteratorBinding receives a navigated Event from BC4J RowSetIterator
Overrides:
navigated in class JUFormBinding
Parameters:
event - a description of the new and previous current rows.

setFindMode

public void setFindMode(boolean mode)
Sets this panel and all its associated iterators into find mode.
Overrides:
setFindMode in class DCBindingContainer

addBindingWithCellEditor

public void addBindingWithCellEditor(JUPanelStopEditingListener binding)
Adds a listener that is interested in notification such that it stops its control's edit process before the panel is moved to a different set of data.

removeBindingWithCellEditor

public void removeBindingWithCellEditor(JUPanelStopEditingListener binding)
Removes a listener from the list.

stopEditing

public void stopEditing()
Notifies all JUPanelStopEditingListeners to stop editing, so that their values can be updated with new set of data. This method is invoked before changing the find/data mode, or switching iterators behind an iterator binding, or before committing/rolling back the database transaction.

isEditingStopped

public boolean isEditingStopped()
Description copied from class: DCBindingContainer
Jclient uses this to indicate if stopEdit completed before datacontrol can proceed with update cycle (commit etc).
Overrides:
isEditingStopped in class DCBindingContainer

setEditingStopped

public void setEditingStopped(boolean flag)
Component/control bindings should set this flag false to indicate that stopEditing() call on them failed. This flag is reset on the beginning of panelBinding's stopEditing method.

bindUIControl

public java.lang.Object bindUIControl(java.lang.String controlBindingName,
                                      java.lang.Object control)
Used by generated code to bind a ui control to the defined binding object in this container identified by 'controlBindingName'. The return value is a Swing model object for that given control.

releaseDataControl

public void releaseDataControl()

release

public void release(int flags)
Applications should release the DataControl which will end up calling this method for all binding containers in the datacontrol.
Overrides:
release in class DCBindingContainer
Parameters:
flags - could be one of the enumerations in DCDataControl. See DCDataControl.release()

useDefaultDataControl

protected void useDefaultDataControl(BindingContext ctx)

requestRefreshControl

public void requestRefreshControl()
Called by bindings that may have changed model properties and need a refresh of the model/whole bindingContainer. Useful in batchmode where after a panel is layed out and it's data is fetched, it may determine that several components need more rows/less rows, change rangesize etc. If so, the components may request refreshControl and then controller may call refreshControl again.

getTooltip

public java.lang.String getTooltip(java.lang.String voName,
                                   java.lang.String attrName,
                                   LocaleContext locale)
Retrives the tooltip text to be used for this attribute.
Overrides:
getTooltip in class JUFormBinding

getTooltip

public java.lang.String getTooltip(java.lang.String voName,
                                   java.lang.String voAttrName,
                                   java.lang.String objectAttrName,
                                   LocaleContext locale)
Retrives the tooltip text to be used for this attribute.
Overrides:
getTooltip in class JUFormBinding

getLabel

public java.lang.String getLabel(java.lang.String voName,
                                 java.lang.String attrName,
                                 LocaleContext locale)
Retrieves the label to be used in any attribute prompts
Overrides:
getLabel in class JUFormBinding

getLabel

public java.lang.String getLabel(java.lang.String voName,
                                 java.lang.String voAttrName,
                                 java.lang.String objectAttrName,
                                 LocaleContext locale)
Retrieves the label to be used in any attribute prompts
Overrides:
getLabel in class JUFormBinding

Oracle ADF Model and Business Components API Reference 10.1.2 B14022-02


Copyright © 1997, 2005, Oracle. All rights reserved.