Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

oracle.jbo.uicli.jui
Class JUButtonGroupBinding

java.lang.Object
  extended by java.util.AbstractMap
      extended by oracle.jbo.common.JboAbstractMap
          extended by oracle.adf.model.binding.DCControlBinding
              extended by oracle.jbo.uicli.binding.JUControlBinding
                  extended by oracle.jbo.uicli.binding.JUCtrlValueBinding
                      extended by oracle.jbo.uicli.binding.JUCtrlAttrsBinding
                          extended by oracle.jbo.uicli.binding.JUCtrlListBinding
                              extended by oracle.jbo.uicli.jui.JUButtonGroupBinding
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener, java.util.Map, AttributeBinding, ControlBinding, RowNavigationListener, RowSetListener, RowSetManagementListener, StructureDef, JUCtrlInputValueHandler, JUCtrlValueHandler

public class JUButtonGroupBinding
extends JUCtrlListBinding
implements java.awt.event.ActionListener

Binds a group of buttons in a panel to an attribute in a ViewObject such that on selection of a given button, this binding works like a LOV binding or used to display an enumerated list for update. When used like an LOV, it will update selected attributes in the target ViewObject's current row with values from the row that is represented by the selected button.

When the binding is used to display an enumerated list of values in a set of buttons grouped together, it will update a value in one of the attributes of the current row in a target ViewObject. This behaves like the attribute binding in a list control with a static list of values.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class oracle.jbo.uicli.binding.JUCtrlListBinding
DH_CONTROL_TYPE, DH_DISPLAY_HEIGHT, DH_DISPLAY_HINT, DH_DISPLAY_WIDTH, DH_FORMAT, DH_LABEL, DH_TOOLTIP, LIST_ADD_NULL_AT_END, LIST_ADD_NULL_AT_START, LIST_ADD_NULL_NOWHERE, LIST_ADD_NULL_UNINIT, LIST_OPER_MULTI_SELECT, LIST_OPER_NAVIGATE, LIST_OPER_SET_ATTRIBUTE, LIST_OPER_SET_DELIMITED_ATTRIBUTE, LISTITEM_DisplayValues, LISTITEM_Index, LISTITEM_Prompt, LISTITEM_Selected, LISTITEM_SelectedIndex, LISTITEM_SelectedIndices, LOV_SRC_ATTRNAMES, LOV_SRC_EL_EXPR, LOV_SRC_ROW, LOV_SRC_ROW_DATA, mFirstDisplayAttr, mListAttrNames, mListDisplayAttrNames, mListIterBinding, mNullValueFlag, mSingleAttrList, mStaticList, mValueList, ROW
 
Fields inherited from class oracle.jbo.uicli.binding.JUCtrlValueBinding
ATTR_ATTRIBUTE, ATTR_ATTRIBUTE_DEF, ATTR_ATTRIBUTE_DEFS, ATTR_ATTRIBUTE_VALUE, ATTR_ATTRIBUTE_VALUES, ATTR_ATTRIBUTES, ATTR_AUTOSUBMIT, ATTR_DISPLAY_HEIGHT, ATTR_DISPLAY_HINT, ATTR_DISPLAY_WIDTH, ATTR_FORMAT, ATTR_FORMATS, ATTR_HINTS, ATTR_INPUT_VALUE, ATTR_LABEL, ATTR_LABELS, ATTR_LABELSET, ATTR_MANDATORY, ATTR_PATH, ATTR_TOOLTIP, ATTR_UPDATEABLE, ATTR_VIEWABLE, DATACHANGE_EVENT_POLICY, GET_ALLOWS, mAttrs, mHasInputVal, mInputVal, SEP_LIST_DISPLAY
 
Fields inherited from class oracle.adf.model.binding.DCControlBinding
ATTR_CURRENTROW, ATTR_DEF, ATTR_ERROR, ATTR_ERRORS, ATTR_FULLNAME, ATTR_ITER, ATTR_NAME, DC_BINDING_ERROR, mAttributeListener, mInternalGet_KeyResolved, mPermission, mPermissionInfo, ROW_KEY_STR
 
Fields inherited from class oracle.jbo.common.JboAbstractMap
MAP_NULL_VALUE
 
Constructor Summary
JUButtonGroupBinding(javax.swing.AbstractButton[] buttons, JUIteratorBinding iterBinding, java.lang.String attrName, java.lang.Object[] valueList)
          Use this constructor to setup an enumerated list of values and bind them to an attribute in a ViewObject (like a static list of values bound to an attribute in a ListBox or a ComboBox).
JUButtonGroupBinding(JUButtonGroupControlInterface control, DCIteratorBinding iterBinding, java.lang.String[] attrNames, int listOperMode)
           
JUButtonGroupBinding(JUButtonGroupControlInterface control, DCIteratorBinding iterBinding, java.lang.String[] attrNames, JUIteratorBinding listIterBinding, java.lang.String[] listAttrNames, java.lang.String[] listDisplayAttrNames)
           
JUButtonGroupBinding(JUButtonGroupControlInterface control, DCIteratorBinding iterBinding, java.lang.String[] attrNames, java.lang.Object[] valueList)
          Use this constructor to setup an enumerated list of values and bind them to an attribute in a ViewObject (like a static list of values bound to an attribute in a ListBox or a ComboBox).
JUButtonGroupBinding(JUButtonGroupControlInterface control, JUIteratorBinding iterBinding, java.lang.String[] attrNames, JUIteratorBinding listIterBinding, java.lang.String[] listAttrNames, java.lang.String listDisplayAttrName)
          Use this constructor to bind a set of group buttons (created by the given control in createButtons method) based on values as returned from the given LOV viewobject.
JUButtonGroupBinding(java.lang.Object control, DCIteratorBinding iterBnd, java.lang.String[] attrNames, java.lang.String lbName)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addControlToPanel(java.lang.Object panel, java.lang.Object layoutObject, java.lang.Object layoutCons)
          *** For internal framework use only ***
static JUButtonGroupBinding createEnumerationBinding(JUFormBinding formBinding, javax.swing.AbstractButton[] buttons, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.Object[] valueList)
          Given a list of buttons (that display the values for the given valueList) bind to an attribute of a ViewObject, such that on selection of one of the buttons in the list, the value of the selected attribute in the current row of the ViewObject is updated with the equivalent value in the valueList array.
static JUButtonGroupBinding createLovBinding(JUFormBinding formBinding, JUButtonGroupControlInterface control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, java.lang.String lovVOInstanceName, java.lang.String[] lovVOAttrNames, java.lang.String lovVODisplayedAttrName)
          This method should be used to create a JUButtonGroupBinding and bind it to a control.
 javax.swing.AbstractButton[] getButtons()
           
 java.lang.Object getControlModel(java.lang.Object control)
          Gets the associated View's model object.
 AttributeDef[] getDisplayAttributeDefs()
           
 int getDisplayHeight()
          Returns the display width for this attribute.
static JUButtonGroupBinding getInstance(JUFormBinding formBinding, javax.swing.AbstractButton[] buttons, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.Object[] valueList)
          Deprecated. since 9.0.2 use createLovBinding() or createEnumerationBinding instead
static JUButtonGroupBinding getInstance(JUFormBinding formBinding, JUButtonGroupControlInterface control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.String listVOInstanceName, java.lang.String listVOAttrName)
          Deprecated. since 9.0.2 use createLovBinding() or createEnumerationBinding instead
protected  boolean isViewInitialized()
           
 void modelChanged(javax.swing.AbstractButton[] buttons)
           
 void refreshControl()
          *** For internal framework use only ***
 void setControl(java.lang.Object control)
          Sets the associated Swing control.
 void setDataValueAt(java.lang.Object value, int attrIndex)
          Sets the button with the given value as selected in the control as well as update the target attribute with the selected value.
 void setMinimumDisplayHeight(int height)
          Define the displayheight that should be used if the application doesn't define an explicit height in control hints.
 void setSelectedIndex(int indx)
          Sets the button at the given index as selected in the control as well as update the target attribute with the selected value.
protected  void setupListItems(boolean clean, boolean keepSelection)
          Sets up the list of values that are displayed by the associated control.
 void setValueAt(java.lang.Object value, int attrIndex)
          Matches the given value to a button in the associated control and sets it as selected.
 
Methods inherited from class oracle.jbo.uicli.binding.JUCtrlListBinding
addBindingChangeListener, addNullAndSetValueList, addRowToMRU, addSelectionToMRU, bindRowSetIterator, clearMRU, clearSelectedIndices, convertValueList, createListIterBinding, createRowSetIterator, filterList, findAndUpdateSelectedIndex, findListIndex, findListIndex, findMatchingListValue, findOrCreateLOVDialogIteratorBinding, findShuttleAvailableRows, findShuttleSelectedRows, findValue, getAttributeDefs, getComboDisplayAttributeCount, getDelimiter, getDisplayCriteriaName, getDisplayData, getDisplayHints, getDisplayListIterator, getDisplayWidth, getFilteredRowSetIterator, getFilteredRowSetIteratorWithCaseCheck, getInputValueInRow, getInputValueOnError, getIterBindingDefOptions, getListBindingName, getListDisplayAttrNames, getListIterBinding, getListOperMode, getListRowSetIterator, getMRUSize, getMRUString, getNullValueFlag, getNullValueIndex, getPreferredListIterBinding, getPreferredListMode, getPreferredListRowSetIterator, getSelectedIndex, getSelectedIndexValue, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectionAttributeName, getSelectionIndices, getServerBindingName, getTargetRowData, getValueAt, getValueFromList, getValueList, handleFilteredList, hasMRU, hasNullValue, initFromServerBinding, initResources, internalGet, internalGetDisplayWidth, internalPut, isAutoSubmit, isControlQueriable, isMandatory, isSingleAttrList, isUpdateable, iteratorClosed, iteratorReset, matchTargetWithLov, moveDown, moveToBottom, moveToTop, moveUp, navigated, processNewInputValue, put, rangeRefreshed, rangeScrolled, refreshFromServerListBinding, release, removeBindingChangeListener, resetAttributeDefs, resetShuttle, rowDeleted, rowInserted, rowUpdated, setAllowBlindMatchInFilter, setAttributeFromValueList, setDef, setFetchDataOnSetup, setInputValueInRow, setListIterBinding, setListOperMode, setListValueAsSelected, setNullValueProperties, setPreferredListMode, setSelectedIndexValue, setSelectedIndices, setSelectionIndices, setServerBindingName, setStaticList, setTargetAttrsFromLovRow, setTargetAttrsFromLovRowAndUpdateMRU, setValueList, shuttle, toString, updateTargetFromSelectedValue, updateValuesFromRow, usesServerBinding
 
Methods inherited from class oracle.jbo.uicli.binding.JUCtrlAttrsBinding
createAttributeBinding, setControlEnabled, updateValuesFromRows
 
Methods inherited from class oracle.jbo.uicli.binding.JUCtrlValueBinding
addBindingContainerChangeListenerForCtxEvent, addDataChangeListener, clearAttrDefs, clearEventsCache, compareAndSetAttribute, createAndNotifyDCE, createEventProducer, displayInShortForm, ensureVariableManager, fetchAttrDefs, findAttributeDef, generateDCE, getAttribute, getAttribute, getAttribute, getAttributeCount, getAttributeDef, getAttributeDef, getAttributeDefsForRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeIndexOf, getAttributeNames, getAttributes, getAttributes, getAttributeUIHelper, getAttributeValidators, getAttributeValidators, getAttributeValue, getAttributeValue, getAttributeValueFromRow, getAttributeValues, getAttributeValues, getAttrViewExpressions, getBindingHint, getCachedEvents, getChangeEventPolicy, getColumnNameForQuery, getControlType, getDataChangeEventPolicy, getDataChangeListener, getDisplayHint, getError, getErrors, getEventProducer, getFormat, getFormats, getFormattedAttributeValue, getHint, getHint, getHints, getInputErrorsForRowKey, getInputValue, getInputValue, getInputValueHandler, getIteratorBindingForDCE, getIteratorRenderHint, getLabel, getLabel, getLabels, getLabelSet, getLastEventId, getLocaleContext, getMasterKeyPathForDCE, getMergedAttributeValues, getNullValueString, getPath, getPermissionDef, getPermissionHolder, getPermissionInfo, getSelectionDef, getState, getTooltip, getTooltip, hasEventProducer, hasFormatInformation, hasServerBindingChanged, hasVariables, internalGetRow, internalHasPermission, internalHasPermission, isArrayIteratorType, isAttributeMandatory, isAttributeUpdateable, isAttributeUpdateable, isAttributeUpdateable, isAttributeUpdateable, isEventsCachingEnabled, isNewInputValue, isNullInsertKeyPathForDCE, isPushDataChangeEvents, isPushOrPollDataChangeEvents, isViewable, lookupAttributeDef, notifyDataChangeEvent, notifyDataExceptionEvent, notifyDCE, pinDataControl, processInputException, removeAttrName, removeDataChangeListener, removeFromDCExceptions, resetInputState, resolvePath, restoreFromState, setArrayIteratorType, setAttribute, setAttribute, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeNames, setAttributes, setAttributeValue, setAttributeValuesInRow, setAttrViewExpressions, setError, setEventProducer, setEventsCaching, setInputValue, setInputValue, setInputValueHandler, setIteratorBinding, setListener, setNullValueString, startEvents, stopEditing, stopEvents, updateNavigated, updateRangeScrolled, updateRow, updateRowDeleted, updateRowInserted, useRowSpecificHints, validateInputValue
 
Methods inherited from class oracle.jbo.uicli.binding.JUControlBinding
getCurrentRow, getFormBinding, getIteratorBinding, reportException, setFormBinding
 
Methods inherited from class oracle.adf.model.binding.DCControlBinding
addToDCExceptions, evaluateBooleanExpression, executeQuery, executeQueryIfNeeded, get, getAllRowsInRange, getApplicationModule, getAttributeListener, getBindingContainer, getControl, getDCIteratorBinding, getDef, getDefFullName, getDefName, getFullName, getLayoutObject, getName, getPermission, getPermissionTargetName, getRowAtRangeIndex, getRowIterator, getTransaction, getViewableExpr, getViewObject, hashCode, internalSetName, isControlViewable, isReleased, needsEstimatedRowCount, release, reportException, resetAttributeExceptionInRow, setBindingContainer, setDataControlPinned, setListener, setName, setViewableExpr
 
Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals, setThrowIfPropertyNotFoundOnGet
 
Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface oracle.adf.model.AttributeBinding
getErrors, getInputValue, getLabel, setInputValue, validateInputValue
 
Methods inherited from interface oracle.adf.model.ControlBinding
setListener
 
Methods inherited from interface oracle.binding.ControlBinding
getName, getPath, release, resolvePath, setListener
 
Methods inherited from interface oracle.jbo.StructureDef
getDefFullName, getDefName, getFullName, getName
 

Constructor Detail

JUButtonGroupBinding

public JUButtonGroupBinding(java.lang.Object control,
                            DCIteratorBinding iterBnd,
                            java.lang.String[] attrNames,
                            java.lang.String lbName)

JUButtonGroupBinding

public JUButtonGroupBinding(javax.swing.AbstractButton[] buttons,
                            JUIteratorBinding iterBinding,
                            java.lang.String attrName,
                            java.lang.Object[] valueList)
Use this constructor to setup an enumerated list of values and bind them to an attribute in a ViewObject (like a static list of values bound to an attribute in a ListBox or a ComboBox). For example, say an attriute may contain only two values M/F. RadioButtons grouped together could be used to display Male/Female in the UI, while upon selection of either, the corresponding attribute value is updated with M/F. This kind of usage can be bound via this constructor.


JUButtonGroupBinding

public JUButtonGroupBinding(JUButtonGroupControlInterface control,
                            DCIteratorBinding iterBinding,
                            java.lang.String[] attrNames,
                            int listOperMode)

JUButtonGroupBinding

public JUButtonGroupBinding(JUButtonGroupControlInterface control,
                            DCIteratorBinding iterBinding,
                            java.lang.String[] attrNames,
                            java.lang.Object[] valueList)
Use this constructor to setup an enumerated list of values and bind them to an attribute in a ViewObject (like a static list of values bound to an attribute in a ListBox or a ComboBox). For example, say an attriute may contain only two values M/F. RadioButtons grouped together could be used to display Male/Female in the UI, while upon selection of either, the corresponding attribute value is updated with M/F. This kind of usage can be bound via this constructor.


JUButtonGroupBinding

public JUButtonGroupBinding(JUButtonGroupControlInterface control,
                            DCIteratorBinding iterBinding,
                            java.lang.String[] attrNames,
                            JUIteratorBinding listIterBinding,
                            java.lang.String[] listAttrNames,
                            java.lang.String[] listDisplayAttrNames)

JUButtonGroupBinding

public JUButtonGroupBinding(JUButtonGroupControlInterface control,
                            JUIteratorBinding iterBinding,
                            java.lang.String[] attrNames,
                            JUIteratorBinding listIterBinding,
                            java.lang.String[] listAttrNames,
                            java.lang.String listDisplayAttrName)
Use this constructor to bind a set of group buttons (created by the given control in createButtons method) based on values as returned from the given LOV viewobject. This constructor creates an LOV binding.

Method Detail

createLovBinding

public static JUButtonGroupBinding createLovBinding(JUFormBinding formBinding,
                                                    JUButtonGroupControlInterface control,
                                                    java.lang.String voInstanceName,
                                                    java.lang.String voIterName,
                                                    java.lang.String voIterBindingName,
                                                    java.lang.String[] voAttrNames,
                                                    java.lang.String lovVOInstanceName,
                                                    java.lang.String[] lovVOAttrNames,
                                                    java.lang.String lovVODisplayedAttrName)
This method should be used to create a JUButtonGroupBinding and bind it to a control.

Parameters:
formBinding - The containing JUPanelBinding in which the given iterator binding would be found/created.
control - The control instance to bind to a ViewObject's attribute.
voInstanceName - Name of the instance of the ViewObject in a BC4J ApplicationModule.
voIterName - Runtime instance name of the iterator in the ViewObject (optional).
voIterBindingName - Instance name of the iterator binding that uniquely identifies an iterator binding object used to read/write data in this given JUPanelBinding instance.
voAttrNames - The names of the attributes of the target ViewObject rows that are updated when a Lov row is selected.
lovVOInstanceName - Name of the instance of the ViewObject in BC4J application module to use for LOV display and selection.
lovVOAttrNames - Names of the attributes that are used to update the target ViewObject attributes.
lovVODisplayedAttrName - Name of the attributes used to create the display of each row in the Lov ViewObject. This attribute in the LOV Iterator provides the text for the buttons in the given ButtonGroupControl.

getInstance

public static JUButtonGroupBinding getInstance(JUFormBinding formBinding,
                                               JUButtonGroupControlInterface control,
                                               java.lang.String voInstanceName,
                                               java.lang.String voIterName,
                                               java.lang.String voIterBindingName,
                                               java.lang.String attrName,
                                               java.lang.String listVOInstanceName,
                                               java.lang.String listVOAttrName)
Deprecated. since 9.0.2 use createLovBinding() or createEnumerationBinding instead


createEnumerationBinding

public static JUButtonGroupBinding createEnumerationBinding(JUFormBinding formBinding,
                                                            javax.swing.AbstractButton[] buttons,
                                                            java.lang.String voInstanceName,
                                                            java.lang.String voIterName,
                                                            java.lang.String voIterBindingName,
                                                            java.lang.String attrName,
                                                            java.lang.Object[] valueList)
Given a list of buttons (that display the values for the given valueList) bind to an attribute of a ViewObject, such that on selection of one of the buttons in the list, the value of the selected attribute in the current row of the ViewObject is updated with the equivalent value in the valueList array.


getInstance

public static JUButtonGroupBinding getInstance(JUFormBinding formBinding,
                                               javax.swing.AbstractButton[] buttons,
                                               java.lang.String voInstanceName,
                                               java.lang.String voIterName,
                                               java.lang.String voIterBindingName,
                                               java.lang.String attrName,
                                               java.lang.Object[] valueList)
Deprecated. since 9.0.2 use createLovBinding() or createEnumerationBinding instead


setMinimumDisplayHeight

public void setMinimumDisplayHeight(int height)
Define the displayheight that should be used if the application doesn't define an explicit height in control hints.

Parameters:
height - the minimum height (must be 1 or greater)

getDisplayHeight

public int getDisplayHeight()
Description copied from class: JUCtrlValueBinding
Returns the display width for this attribute.

Calling this on a control-binding that does not have an attribute will throw a NullPointerException

Overrides:
getDisplayHeight in class JUCtrlValueBinding

isViewInitialized

protected boolean isViewInitialized()
Overrides:
isViewInitialized in class JUCtrlListBinding

getControlModel

public java.lang.Object getControlModel(java.lang.Object control)
Gets the associated View's model object.

Overrides:
getControlModel in class DCControlBinding

refreshControl

public void refreshControl()
Description copied from class: JUCtrlAttrsBinding
*** For internal framework use only ***

Updates the values in a control that is bound using an Iterator already in use. (a valid row iterator) If you do not call this method, your control won't update unless you refresh the Iterator.

Overrides:
refreshControl in class JUCtrlAttrsBinding

setupListItems

protected void setupListItems(boolean clean,
                              boolean keepSelection)
Sets up the list of values that are displayed by the associated control. This method creates the list of buttons by calling the control's createButtons() method passing it the list of Strings to be used for display.

Overrides:
setupListItems in class JUCtrlListBinding

addControlToPanel

public void addControlToPanel(java.lang.Object panel,
                              java.lang.Object layoutObject,
                              java.lang.Object layoutCons)
*** For internal framework use only ***

Overrides:
addControlToPanel in class JUCtrlListBinding

setValueAt

public void setValueAt(java.lang.Object value,
                       int attrIndex)
Matches the given value to a button in the associated control and sets it as selected.

Overrides:
setValueAt in class JUCtrlListBinding

setSelectedIndex

public void setSelectedIndex(int indx)
Sets the button at the given index as selected in the control as well as update the target attribute with the selected value.

Overrides:
setSelectedIndex in class JUCtrlListBinding

setDataValueAt

public void setDataValueAt(java.lang.Object value,
                           int attrIndex)
Sets the button with the given value as selected in the control as well as update the target attribute with the selected value.

Overrides:
setDataValueAt in class JUCtrlListBinding

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

getButtons

public javax.swing.AbstractButton[] getButtons()

getDisplayAttributeDefs

public AttributeDef[] getDisplayAttributeDefs()
Overrides:
getDisplayAttributeDefs in class JUCtrlListBinding

modelChanged

public void modelChanged(javax.swing.AbstractButton[] buttons)

setControl

public void setControl(java.lang.Object control)
Description copied from class: DCControlBinding
Sets the associated Swing control.

Overrides:
setControl in class DCControlBinding

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

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