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

E10653-04

oracle.jbo.uicli.binding
Class JUCtrlListBinding

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
All Implemented Interfaces:
java.util.EventListener, java.util.Map, AttributeBinding, ControlBinding, RowNavigationListener, RowSetListener, RowSetManagementListener, StructureDef, JUCtrlInputValueHandler, JUCtrlValueHandler
Direct Known Subclasses:
JUButtonGroupBinding, JUComboBoxCtrlBinding, JUCtrlBoolBinding, JUListSingleSelBinding, JULovButtonBinding, JUSpinnerBinding

public class JUCtrlListBinding
extends JUCtrlAttrsBinding
implements RowSetListener, RowSetManagementListener

A JUCtrlAttrsBinding class responsible displaying a list of values from a static list or a list calculated at runtime using another BC4J ViewObject/RowIterator. This binding operates in two ways:

The operating mode is to be setup in the constructor of this binding.

This binding works in two updateable modes:

This binding can also be used to iterator through a RowIterator object and display single or multiple attributes from the rows.

javabean.class
name=JUCtrlListBinding

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
static java.lang.String DH_CONTROL_TYPE
           
static java.lang.String DH_DISPLAY_HEIGHT
           
static java.lang.String DH_DISPLAY_HINT
           
static java.lang.String DH_DISPLAY_WIDTH
           
static java.lang.String DH_FORMAT
           
static java.lang.String DH_LABEL
          Constants to access elements in the map returned in getDisplayHints()
static java.lang.String DH_TOOLTIP
           
static int LIST_ADD_NULL_AT_END
           
static int LIST_ADD_NULL_AT_START
           
static int LIST_ADD_NULL_NOWHERE
           
static int LIST_ADD_NULL_UNINIT
           
static int LIST_OPER_MULTI_SELECT
          Indicates that list binding will be used to navigate Rows in a RowIterator.
static int LIST_OPER_NAVIGATE
          Indicates that list binding will be used to navigate Rows in a RowIterator.
static int LIST_OPER_SET_ATTRIBUTE
          Indicates this list binding will be used to update attributes in a target ViewObject.
static java.lang.String LISTITEM_DisplayValues
           
static java.lang.String LISTITEM_Index
           
static java.lang.String LISTITEM_Prompt
           
static java.lang.String LISTITEM_Selected
          Constants to access elements in the map returned in getDisplayData()
static java.lang.String LISTITEM_SelectedIndex
           
static java.lang.String LISTITEM_SelectedIndices
           
static int LOV_SRC_ATTRNAMES
           
static int LOV_SRC_EL_EXPR
           
static int LOV_SRC_ROW
           
static int LOV_SRC_ROW_DATA
           
protected  AttributeDef mFirstDisplayAttr
           
protected  java.lang.String[] mListAttrNames
          Ordered list of attribute names that this control binding should use to update the target ViewObject's attributes.
protected  java.lang.String[] mListDisplayAttrNames
          Ordered list of attributes that this control binding should use to display the Rows from the LOV ViewObject.
protected  DCIteratorBinding mListIterBinding
          Iterator Binding object that this binding uses to get the LOV data.
protected  int mNullValueFlag
           
protected  boolean mSingleAttrList
           
protected  boolean mStaticList
          Controls whether the list of values should be fetched once or should this list update itself when the ViewObject for the LOV changes.
protected  java.lang.Object[] mValueList
          List of values displayed in the bound control.
static java.lang.String 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
protected JUCtrlListBinding()
          *** For internal framework use only ***
protected JUCtrlListBinding(java.lang.Object control, DCIteratorBinding iterBinding, java.lang.String[] attrNames, DCIteratorBinding listIterBinding, java.lang.String[] listAttrNames, java.lang.String[] listDisplayAttrNames)
          Uses the listIterBinding object to get the iterator and attribute names from listDisplayAttrNames to display attributes from the BC4J Rows in the iterator.
  JUCtrlListBinding(java.lang.Object control, DCIteratorBinding iterBinding, java.lang.String[] attrNames, int listOperMode)
          **For Testing purposes only*** Uses the same Iterator Binding to update as well as display values.
  JUCtrlListBinding(java.lang.Object control, DCIteratorBinding iterBinding, java.lang.String[] attrNames, java.lang.Object[] valueList)
          Uses the given static list of value objects to display data in the control.
protected JUCtrlListBinding(java.lang.Object control, DCIteratorBinding iterBnd, java.lang.String[] attrNames, java.lang.String lbName)
           
 
Method Summary
 void addBindingChangeListener(JUCtrlListBindingChangeListener listener)
          Register a listener.
 void addControlToPanel(java.lang.Object panel, java.lang.Object layoutObject, java.lang.Object layoutCons)
          *** For internal framework use only ***
 void addNullAndSetValueList(java.lang.Object[] rows)
          *** For internal framework use only *** This method adjusts the given list with a nullvalue flag as set on this binding.
protected  void addRowToMRU(Row row)
           
protected  void addSelectionToMRU()
           
protected  void bindRowSetIterator(DCIteratorBinding iterBnd, RowSetIterator rsi)
           
protected  void clearMRU()
           
 void clearSelectedIndices()
           
 void convertValueList()
          *** For internal framework use only ***
protected  void createListIterBinding(RowSetIterator rsi, java.lang.String criteria)
           
protected  boolean createRowSetIterator()
           
 void filterList(java.util.Map valuesMap)
          Given a map of attribute names and values that they map to, shorten the data that this list is exposing.
protected  java.lang.Object findAndUpdateSelectedIndex(java.lang.Object val, boolean flag)
          *** For internal framework use only *** findMatching List value for the given object and if found, set the selected index to that value as well if given flag is true.
 int findListIndex(AttributeList nvp)
          Finds the index of a list row that contains the matching values.
 int findListIndex(java.lang.Object val)
          Finds the index of a row that contains the selected display value.
 java.lang.Object findMatchingListValue(java.lang.Object val)
           
 RowIterator findShuttleAvailableRows(DCIteratorBinding baseIter, java.lang.String selectAttr)
           
 RowIterator findShuttleSelectedRows(DCIteratorBinding baseIter, java.lang.String selectAttr)
           
 java.lang.Object findValue(java.lang.Object val)
           
 AttributeDef[] getAttributeDefs()
          Return Attribute definitions of the attributes to which this binding is bound to.
protected  int getComboDisplayAttributeCount()
           
protected  AttributeDef[] getDisplayAttributeDefs()
           
 java.lang.String getDisplayCriteriaName()
          Return the view criteria name that the LOV Search may use to filter the LOV results.
 java.util.List getDisplayData()
          Returns a List of Map elements.
 java.util.List getDisplayHints()
          Returns a List of Map elements (name-value pairs) for UI hints for all display attributes in this list binding.
 java.util.Iterator getDisplayListIterator()
          Returns an ArrayList of values that should be displayed in this list.
 int getDisplayWidth()
          Returns the display width for this attribute.
protected  RowSetIterator getFilteredRowSetIterator(java.util.Map valuesMap)
          Given a map of attribute names and values that they map to, shorten the data that this list is exposing.
protected  RowSetIterator getFilteredRowSetIteratorWithCaseCheck(java.util.Map valuesMap, boolean exact, boolean caseInsensitive)
           
protected  java.lang.Object getInputValueInRow(JUCtrlValueBinding binding, Row row, AttributeDef ad)
          Primarily for spel support.
protected  java.lang.Object getInputValueOnError()
          Subclasses may override to return custom/cached/transformed input value when there is an exception stored on this binding.
protected  java.util.HashMap getIterBindingDefOptions(DCDataControl dc)
           
protected  java.lang.String getListBindingName(DCIteratorBinding iter, JUCtrlListDef def)
           
 java.lang.String[] getListDisplayAttrNames()
          *** For internal framework use only ***
 DCIteratorBinding getListIterBinding()
          Returns the iterator binding that is used to fill in the values for this list.
 int getListOperMode()
          Returns whether this list binding is used for Row Navigation or updating attributes on a target ViewObject (default).
 RowSetIterator getListRowSetIterator()
           
protected  int getMRUSize()
           
protected  java.lang.String getMRUString()
           
protected  int getNullValueFlag()
           
 int getNullValueIndex()
           
 DCIteratorBinding getPreferredListIterBinding()
           
protected  boolean getPreferredListMode()
           
 RowSetIterator getPreferredListRowSetIterator()
           
 int getSelectedIndex()
           
protected  int getSelectedIndexValue()
           
 int[] getSelectedIndices()
           
 java.lang.Object getSelectedValue()
           
 java.lang.Object[] getSelectedValues()
           
 java.lang.String getSelectionAttributeName()
           
 java.lang.String getServerBindingName()
           
protected  java.lang.Object getTargetRowData(Row targetRow, AttributeDef ad)
           
 java.lang.Object getValueAt(int attrIndex)
          Gets the value from the control for the attribute at the given index.
 java.lang.Object getValueFromList(int listIndex)
           
 java.lang.Object[] getValueList()
          *** For internal framework use only ***
protected  void handleFilteredList()
           
protected  boolean hasMRU()
           
 boolean hasNullValue()
           
protected  void initFromServerBinding()
           
protected  void initResources()
          Invoked when the bindingContainer is being initialized for the first time or after it's locale is changed.
protected  java.lang.Object internalGet(java.lang.String key)
          Subclasses should override this to handle a specific key.
 boolean isAutoSubmit()
          Returns the autoSubmit value for this attribute.
protected  boolean isControlQueriable()
          For ADF/nonJClient apps return true so that list bindings are created as queriable if the bound iteratorBinding allows findmode.
 boolean isMandatory()
          Primarily for spel support.
 boolean isSingleAttrList()
          *** For internal framework use only ***
 boolean isUpdateable()
          Overridden to return true incase of NavigationListBinding, so that list component is rendered as enabled.
protected  boolean isViewInitialized()
           
 void iteratorClosed(RowSetManagementEvent event)
          Resets the internal state of this binding object and marks it as unusable.
 void iteratorReset(RowSetManagementEvent event)
          Notifies rangeRefreshed to all bindings so that they can update their display.
protected  boolean matchTargetWithLov(Row targetRow, Row lovRow)
          *** For internal framework use only ***
 void moveDown(DCIteratorBinding baseRSI, java.lang.String selectAttr)
           
 void moveToBottom(DCIteratorBinding baseRSI, java.lang.String selectAttr)
           
 void moveToTop(DCIteratorBinding baseRSI, java.lang.String selectAttr)
           
 void moveUp(DCIteratorBinding baseRSI, java.lang.String selectAttr)
           
 void navigated(NavigationEvent event)
          *** For internal framework use only ***
 boolean processNewInputValue(java.lang.Object value)
          Compares the value (assumed to be a numeric String or an Integer) with currently selected index in this listbinding and if different, then returns true.
 java.lang.Object put(java.lang.Object obj, java.lang.Object value)
           
 void rangeRefreshed(RangeRefreshEvent event)
          *** For internal framework use only ***
 void rangeScrolled(ScrollEvent event)
          *** For internal framework use only ***
 void release(int flags)
           
 void removeBindingChangeListener(JUCtrlListBindingChangeListener listener)
          Remove a listener.
protected  void resetAttributeDefs()
           
 void resetShuttle(DCIteratorBinding baseIter, java.lang.String selectAttr, JUCtrlListBinding otherList)
           
 void rowDeleted(DeleteEvent event)
          *** For internal framework use only ***
 void rowInserted(InsertEvent event)
          *** For internal framework use only ***
 void rowUpdated(UpdateEvent event)
          *** For internal framework use only ***
protected  void setAllowBlindMatchInFilter(boolean flag)
           
 void setAttributeFromValueList(int listIndex)
           
 void setDataValueAt(java.lang.Object value, int attrIndex)
           
protected  void setDef(DCControlBindingDef controlDef)
           
protected  void setFetchDataOnSetup(boolean flag)
           
protected  void setInputValueInRow(JUCtrlValueBinding binding, Row row, AttributeDef ad, java.lang.Object value, boolean handleException)
          Primarily for spel support.
protected  void setListIterBinding(DCIteratorBinding iterBnd)
           
 void setListOperMode(int listOperMode)
          *** For internal framework use only ***
protected  int setListValueAsSelected(java.lang.Object val)
           
protected  void setNullValueProperties(int flag)
           
protected  void setPreferredListMode(boolean flag)
           
 void setSelectedIndex(int indx)
           
protected  void setSelectedIndexValue(int indx)
           
 void setSelectedIndices(int[] arr)
           
protected  void setServerBindingName(java.lang.String sName)
           
protected  void setStaticList(boolean staticList)
           
protected  void setTargetAttrsFromLovRow(Row targetRow, Row lovRow)
          *** For internal framework use only ***
protected  void setupListItems(boolean clean, boolean keepSelectedIndex)
          If this list is displaying a single attribute and updates a single attribute, then this method fetches the attribute value from all the rows in the given LOV list iterator and sets that as the list of values to display in the bound control.
 void setValueAt(java.lang.Object value, int attrIndex)
          Updates the control/control-binding with the latest value of the attribute at the given index with the given value.
 void setValueList(java.lang.Object[] valueList)
          *** For internal framework use only ***
 void shuttle(DCIteratorBinding baseIter, java.lang.String selectAttr, boolean select, boolean selectAll, JUCtrlListBinding otherList)
           
 java.lang.String toString()
           
protected  void updateTargetFromSelectedValue(java.lang.Object val)
           
 void updateValuesFromRow(Row row)
          Updates the control-binding and hence the control with attribute values from the attributes of this Row.
protected  boolean usesServerBinding()
           
 
Methods inherited from class oracle.jbo.uicli.binding.JUCtrlAttrsBinding
createAttributeBinding, refreshControl, 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, getDisplayHeight, 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, 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, getControlModel, getDCIteratorBinding, getDef, getDefFullName, getDefName, getFullName, getLayoutObject, getName, getPermission, getPermissionTargetName, getRowAtRangeIndex, getRowIterator, getTransaction, getViewableExpr, getViewObject, hashCode, internalSetName, isControlViewable, isReleased, needsEstimatedRowCount, release, reportException, resetAttributeExceptionInRow, setBindingContainer, setControl, setDataControlPinned, setListener, setName, setViewableExpr
 
Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals, internalPut, 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
 

Field Detail

LIST_OPER_SET_ATTRIBUTE

public static final int LIST_OPER_SET_ATTRIBUTE
Indicates this list binding will be used to update attributes in a target ViewObject. This is the default mode

See Also:
Constant Field Values

LIST_OPER_NAVIGATE

public static final int LIST_OPER_NAVIGATE
Indicates that list binding will be used to navigate Rows in a RowIterator.

See Also:
Constant Field Values

LIST_OPER_MULTI_SELECT

public static final int LIST_OPER_MULTI_SELECT
Indicates that list binding will be used to navigate Rows in a RowIterator.

See Also:
Constant Field Values

mSingleAttrList

protected boolean mSingleAttrList

LIST_ADD_NULL_UNINIT

public static final int LIST_ADD_NULL_UNINIT
See Also:
Constant Field Values

LIST_ADD_NULL_NOWHERE

public static final int LIST_ADD_NULL_NOWHERE
See Also:
Constant Field Values

LIST_ADD_NULL_AT_START

public static final int LIST_ADD_NULL_AT_START
See Also:
Constant Field Values

LIST_ADD_NULL_AT_END

public static final int LIST_ADD_NULL_AT_END
See Also:
Constant Field Values

mNullValueFlag

protected int mNullValueFlag

mValueList

protected java.lang.Object[] mValueList
List of values displayed in the bound control. This could be a list of single attribute values or a list of BC4J Rows.


mListAttrNames

protected java.lang.String[] mListAttrNames
Ordered list of attribute names that this control binding should use to update the target ViewObject's attributes.


mListDisplayAttrNames

protected java.lang.String[] mListDisplayAttrNames
Ordered list of attributes that this control binding should use to display the Rows from the LOV ViewObject.


mListIterBinding

protected DCIteratorBinding mListIterBinding
Iterator Binding object that this binding uses to get the LOV data.


mStaticList

protected boolean mStaticList
Controls whether the list of values should be fetched once or should this list update itself when the ViewObject for the LOV changes.


mFirstDisplayAttr

protected AttributeDef mFirstDisplayAttr

LISTITEM_Selected

public static final java.lang.String LISTITEM_Selected
Constants to access elements in the map returned in getDisplayData()

See Also:
Constant Field Values

LISTITEM_Index

public static final java.lang.String LISTITEM_Index
See Also:
Constant Field Values

LISTITEM_Prompt

public static final java.lang.String LISTITEM_Prompt
See Also:
Constant Field Values

LISTITEM_DisplayValues

public static final java.lang.String LISTITEM_DisplayValues
See Also:
Constant Field Values

LISTITEM_SelectedIndex

public static final java.lang.String LISTITEM_SelectedIndex
See Also:
Constant Field Values

LISTITEM_SelectedIndices

public static final java.lang.String LISTITEM_SelectedIndices
See Also:
Constant Field Values

DH_LABEL

public static final java.lang.String DH_LABEL
Constants to access elements in the map returned in getDisplayHints()

See Also:
Constant Field Values

DH_TOOLTIP

public static final java.lang.String DH_TOOLTIP
See Also:
Constant Field Values

DH_DISPLAY_HINT

public static final java.lang.String DH_DISPLAY_HINT
See Also:
Constant Field Values

DH_DISPLAY_HEIGHT

public static final java.lang.String DH_DISPLAY_HEIGHT
See Also:
Constant Field Values

DH_DISPLAY_WIDTH

public static final java.lang.String DH_DISPLAY_WIDTH
See Also:
Constant Field Values

DH_CONTROL_TYPE

public static final java.lang.String DH_CONTROL_TYPE
See Also:
Constant Field Values

DH_FORMAT

public static final java.lang.String DH_FORMAT
See Also:
Constant Field Values

LOV_SRC_ATTRNAMES

public static final int LOV_SRC_ATTRNAMES
See Also:
Constant Field Values

LOV_SRC_ROW_DATA

public static final int LOV_SRC_ROW_DATA
See Also:
Constant Field Values

LOV_SRC_EL_EXPR

public static final int LOV_SRC_EL_EXPR
See Also:
Constant Field Values

LOV_SRC_ROW

public static final int LOV_SRC_ROW
See Also:
Constant Field Values

ROW

public static final java.lang.String ROW
See Also:
Constant Field Values
Constructor Detail

JUCtrlListBinding

protected JUCtrlListBinding()
*** For internal framework use only ***


JUCtrlListBinding

protected JUCtrlListBinding(java.lang.Object control,
                            DCIteratorBinding iterBnd,
                            java.lang.String[] attrNames,
                            java.lang.String lbName)

JUCtrlListBinding

public JUCtrlListBinding(java.lang.Object control,
                         DCIteratorBinding iterBinding,
                         java.lang.String[] attrNames,
                         int listOperMode)
**For Testing purposes only*** Uses the same Iterator Binding to update as well as display values.


JUCtrlListBinding

public JUCtrlListBinding(java.lang.Object control,
                         DCIteratorBinding iterBinding,
                         java.lang.String[] attrNames,
                         java.lang.Object[] valueList)
Uses the given static list of value objects to display data in the control.


JUCtrlListBinding

protected JUCtrlListBinding(java.lang.Object control,
                            DCIteratorBinding iterBinding,
                            java.lang.String[] attrNames,
                            DCIteratorBinding listIterBinding,
                            java.lang.String[] listAttrNames,
                            java.lang.String[] listDisplayAttrNames)
Uses the listIterBinding object to get the iterator and attribute names from listDisplayAttrNames to display attributes from the BC4J Rows in the iterator. Also maps values from listAttrNames attributes to the set of attributes (attrNames) in the current row of the target iterator referred by iterBinding object

Method Detail

setServerBindingName

protected void setServerBindingName(java.lang.String sName)

getServerBindingName

public final java.lang.String getServerBindingName()

setFetchDataOnSetup

protected void setFetchDataOnSetup(boolean flag)

setDef

protected void setDef(DCControlBindingDef controlDef)
Overrides:
setDef in class JUCtrlValueBinding

setAllowBlindMatchInFilter

protected void setAllowBlindMatchInFilter(boolean flag)

setPreferredListMode

protected void setPreferredListMode(boolean flag)

getPreferredListMode

protected boolean getPreferredListMode()

setListIterBinding

protected void setListIterBinding(DCIteratorBinding iterBnd)

initResources

protected void initResources()
Description copied from class: DCControlBinding
Invoked when the bindingContainer is being initialized for the first time or after it's locale is changed. This gives subclasses a chance to drop their initialized locale based resources.

Overrides:
initResources in class JUCtrlValueBinding

hasMRU

protected final boolean hasMRU()

usesServerBinding

protected boolean usesServerBinding()

initFromServerBinding

protected void initFromServerBinding()

setupListItems

protected void setupListItems(boolean clean,
                              boolean keepSelectedIndex)
If this list is displaying a single attribute and updates a single attribute, then this method fetches the attribute value from all the rows in the given LOV list iterator and sets that as the list of values to display in the bound control.

If this list is displaying multiple attributes and/or is used in navigation mode, then the valueList is set with the list of all rows from the LOV Iterator binding. In this case, this binding also listens to events from the RowSetIterator for row currency changes, new rows, etc.


createRowSetIterator

protected boolean createRowSetIterator()

getIterBindingDefOptions

protected java.util.HashMap getIterBindingDefOptions(DCDataControl dc)

createListIterBinding

protected void createListIterBinding(RowSetIterator rsi,
                                     java.lang.String criteria)

bindRowSetIterator

protected void bindRowSetIterator(DCIteratorBinding iterBnd,
                                  RowSetIterator rsi)

getListIterBinding

public DCIteratorBinding getListIterBinding()
Returns the iterator binding that is used to fill in the values for this list.

javabean.property

getListRowSetIterator

public RowSetIterator getListRowSetIterator()

getPreferredListIterBinding

public DCIteratorBinding getPreferredListIterBinding()
For internal use only. Application developers should not use this
for testing purposes only
javabean.property

getPreferredListRowSetIterator

public RowSetIterator getPreferredListRowSetIterator()
For internal use only. Application developers should not use this
for testing purposes only
javabean.property

getListOperMode

public int getListOperMode()
Returns whether this list binding is used for Row Navigation or updating attributes on a target ViewObject (default). The possible values are:


getListDisplayAttrNames

public java.lang.String[] getListDisplayAttrNames()
*** For internal framework use only ***


setListOperMode

public void setListOperMode(int listOperMode)
*** For internal framework use only ***

Sets the operating mode for this list binding.


isSingleAttrList

public boolean isSingleAttrList()
*** For internal framework use only ***

javabean.property

setValueList

public void setValueList(java.lang.Object[] valueList)
*** For internal framework use only ***


addNullAndSetValueList

public void addNullAndSetValueList(java.lang.Object[] rows)
*** For internal framework use only *** This method adjusts the given list with a nullvalue flag as set on this binding.


getMRUSize

protected int getMRUSize()

getMRUString

protected java.lang.String getMRUString()

clearMRU

protected void clearMRU()

addSelectionToMRU

protected void addSelectionToMRU()

addRowToMRU

protected void addRowToMRU(Row row)

hasNullValue

public boolean hasNullValue()

getNullValueIndex

public int getNullValueIndex()

getNullValueFlag

protected final int getNullValueFlag()

setNullValueProperties

protected void setNullValueProperties(int flag)

convertValueList

public void convertValueList()
*** For internal framework use only ***


getSelectedIndex

public int getSelectedIndex()

setSelectedIndex

public void setSelectedIndex(int indx)

setSelectedIndexValue

protected void setSelectedIndexValue(int indx)

getSelectedIndexValue

protected int getSelectedIndexValue()

getValueAt

public java.lang.Object getValueAt(int attrIndex)
Description copied from class: JUCtrlAttrsBinding
Gets the value from the control for the attribute at the given index. (The index is calculated from the list of attributes this control binding is bound to as passed in the constructor). Framework uses this method to get the attribute value from the control and pass it on to the Row object on the BC4J side.

Overrides:
getValueAt in class JUCtrlAttrsBinding

getValueList

public java.lang.Object[] getValueList()
*** For internal framework use only ***

Returns the static value list as set into this listbinding incase of enumeration lists. In case of Row bound lists, returns an array of LOV rows set into this listbinding.


getDisplayListIterator

public java.util.Iterator getDisplayListIterator()
Returns an ArrayList of values that should be displayed in this list. If this listbinding has multiple display attributes, then each element in the returned list is itself an arraylist of that many attribute values.

javabean.property

getSelectedValue

public java.lang.Object getSelectedValue()
javabean.property

getTargetRowData

protected final java.lang.Object getTargetRowData(Row targetRow,
                                                  AttributeDef ad)

matchTargetWithLov

protected boolean matchTargetWithLov(Row targetRow,
                                     Row lovRow)
*** For internal framework use only ***


setListValueAsSelected

protected int setListValueAsSelected(java.lang.Object val)

findMatchingListValue

public java.lang.Object findMatchingListValue(java.lang.Object val)

findAndUpdateSelectedIndex

protected java.lang.Object findAndUpdateSelectedIndex(java.lang.Object val,
                                                      boolean flag)
*** For internal framework use only *** findMatching List value for the given object and if found, set the selected index to that value as well if given flag is true.


findListIndex

public int findListIndex(java.lang.Object val)
Finds the index of a row that contains the selected display value. The argument could itself be a row which will be used to match in the list rows to determine its index.

Parameters:
val - A selected display value or a selected row.
Returns:
An index of the selected value in the lov list.

findListIndex

public int findListIndex(AttributeList nvp)
Finds the index of a list row that contains the matching values. A value should be passed for every target attribute defined in the list definition.

Parameters:
nvp - Attribute name and value pairs in the target row
Returns:
An index of the selected value in the lov list.

toString

public java.lang.String toString()
Overrides:
toString in class JUCtrlAttrsBinding

findValue

public java.lang.Object findValue(java.lang.Object val)

getValueFromList

public java.lang.Object getValueFromList(int listIndex)

isViewInitialized

protected boolean isViewInitialized()

isControlQueriable

protected boolean isControlQueriable()
For ADF/nonJClient apps return true so that list bindings are created as queriable if the bound iteratorBinding allows findmode.

Overrides:
isControlQueriable in class JUCtrlAttrsBinding

isMandatory

public boolean isMandatory()
Description copied from class: JUCtrlValueBinding
Primarily for spel support. Could be removed prior to 905Prod and merged into a get() method for spel-access.

Returns mandatory flag for the first attribute that this binding is bound to.

Overrides:
isMandatory in class JUCtrlValueBinding

updateValuesFromRow

public void updateValuesFromRow(Row row)
Description copied from class: JUCtrlAttrsBinding
Updates the control-binding and hence the control with attribute values from the attributes of this Row. Invokes setValueAt() with the attribute value and attribute index with respect to attributes for which this binding is interested.

This method also enables/disables the Swing control based on the updateability of the first (Default) attribute to which this control is bound.

Overrides:
updateValuesFromRow in class JUCtrlAttrsBinding

setTargetAttrsFromLovRow

protected void setTargetAttrsFromLovRow(Row targetRow,
                                        Row lovRow)
*** For internal framework use only ***


setAttributeFromValueList

public void setAttributeFromValueList(int listIndex)

updateTargetFromSelectedValue

protected void updateTargetFromSelectedValue(java.lang.Object val)

getAttributeDefs

public AttributeDef[] getAttributeDefs()
Description copied from class: JUCtrlValueBinding
Return Attribute definitions of the attributes to which this binding is bound to.

Specified by:
getAttributeDefs in interface StructureDef
Overrides:
getAttributeDefs in class JUCtrlValueBinding
Returns:
an array of attribute definitions.

getListBindingName

protected final java.lang.String getListBindingName(DCIteratorBinding iter,
                                                    JUCtrlListDef def)

rangeRefreshed

public void rangeRefreshed(RangeRefreshEvent event)
*** For internal framework use only ***

Specified by:
rangeRefreshed in interface RowSetListener
Parameters:
event - a description of the new ranges.

rowInserted

public void rowInserted(InsertEvent event)
*** For internal framework use only ***

Specified by:
rowInserted in interface RowSetListener
Parameters:
event - a description of the new Row object.

rowDeleted

public void rowDeleted(DeleteEvent event)
*** For internal framework use only ***

Specified by:
rowDeleted in interface RowSetListener
Parameters:
event - a description of the deleted Row object.

rowUpdated

public void rowUpdated(UpdateEvent event)
*** For internal framework use only ***

Specified by:
rowUpdated in interface RowSetListener
Parameters:
event - a description of the modified Row object.

navigated

public void navigated(NavigationEvent event)
*** For internal framework use only ***

Specified by:
navigated in interface RowNavigationListener
Specified by:
navigated in interface RowSetListener
Parameters:
event - a description of the new and previous current rows.

rangeScrolled

public void rangeScrolled(ScrollEvent event)
*** For internal framework use only ***

Specified by:
rangeScrolled in interface RowSetListener
Parameters:
event - a description of the new range.

iteratorReset

public void iteratorReset(RowSetManagementEvent event)
Notifies rangeRefreshed to all bindings so that they can update their display.

Specified by:
iteratorReset in interface RowSetManagementListener
Parameters:
event - a description of the event.
For internal use only. Application developers should not use this
*** For internal framework use only ***

iteratorClosed

public void iteratorClosed(RowSetManagementEvent event)
Resets the internal state of this binding object and marks it as unusable.

Specified by:
iteratorClosed in interface RowSetManagementListener
Parameters:
event - a description of the event.
For internal use only. Application developers should not use this
*** For internal framework use only ***

removeBindingChangeListener

public void removeBindingChangeListener(JUCtrlListBindingChangeListener listener)
Remove a listener.

Parameters:
listener -
See Also:
JUCtrlListBindingChangeListener

release

public void release(int flags)
Overrides:
release in class JUCtrlValueBinding

setDataValueAt

public void setDataValueAt(java.lang.Object value,
                           int attrIndex)
Overrides:
setDataValueAt in class JUCtrlAttrsBinding

setValueAt

public void setValueAt(java.lang.Object value,
                       int attrIndex)
Description copied from class: JUCtrlAttrsBinding
Updates the control/control-binding with the latest value of the attribute at the given index with the given value. This method is used by the framework to update the control with attribute values from a BC4J row.

Overrides:
setValueAt in class JUCtrlAttrsBinding

addBindingChangeListener

public void addBindingChangeListener(JUCtrlListBindingChangeListener listener)
Register a listener.

Parameters:
listener -
See Also:
JUCtrlListBindingChangeListener

addControlToPanel

public void addControlToPanel(java.lang.Object panel,
                              java.lang.Object layoutObject,
                              java.lang.Object layoutCons)
Description copied from class: JUControlBinding
*** For internal framework use only ***

Overrides:
addControlToPanel in class JUCtrlAttrsBinding

put

public java.lang.Object put(java.lang.Object obj,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map
Overrides:
put in class JUCtrlValueBinding

getInputValueOnError

protected java.lang.Object getInputValueOnError()
Subclasses may override to return custom/cached/transformed input value when there is an exception stored on this binding. mErrExc will should not be null when this method is invoked.

Overrides:
getInputValueOnError in class JUCtrlValueBinding

getInputValueInRow

protected java.lang.Object getInputValueInRow(JUCtrlValueBinding binding,
                                              Row row,
                                              AttributeDef ad)
Primarily for spel support. Could be removed prior to 905Prod and merged into a get() method for spel-access.

Returns the last input value for the first attribute on this binding if this value raised an exception. Otherwise returns the value from the model object calling getAttribute(0);

Overrides:
getInputValueInRow in class JUCtrlValueBinding
javabean.property

setInputValueInRow

protected void setInputValueInRow(JUCtrlValueBinding binding,
                                  Row row,
                                  AttributeDef ad,
                                  java.lang.Object value,
                                  boolean handleException)
Primarily for spel support. Could be removed prior to 905Prod and merged into a get() method for spel-access.

Sets the value given and caches any error/exception in member variables for further access. Also rethrows the exception for outer methods to catch it.

Overrides:
setInputValueInRow in class JUCtrlValueBinding

getDisplayData

public java.util.List getDisplayData()
Returns a List of Map elements. Each map entry contains the following four elements:
  • selected - Boolean.TRUE if current entry should be selected
  • index - Index value of the current entry()
  • prompt - Concatenated string of all display attribute values for the current entry()
  • displayValues - Iterator of display attribute values.
  • selectedIndex - Index of the selected entry that this listBinding is bound to.

    Returns null if the list of values for this binding is null. This condition should not occur if the list-binding definition is complete.


  • getDisplayHints

    public java.util.List getDisplayHints()
    Returns a List of Map elements (name-value pairs) for UI hints for all display attributes in this list binding. The map contains the following elements:
  • label - Label to display for the current attribute
  • tooltip - Tooltip to display for the current attribute
  • displayHint - DisplayHint for the current attribute
  • displayHeight - Height in lines for the current attribute
  • displayWidth - Width in characters for the current attribute
  • controlType - ControlType hint for the current attribute
  • format - Format to be used for the current attribute

  • internalGet

    protected java.lang.Object internalGet(java.lang.String key)
    Subclasses should override this to handle a specific key. If they do find the key valid, they should also set the mInternalGet_KeyResolved to 'true' so that bean-introspection is not done for valid null-value returns from the internalGet() call.

    Properties returned vis getter on this control bindings are:

  • displayHints - returns getDisplayHints()
  • displayData - returns getDisplayData()
  • path - returns getPath()
  • Overrides:
    internalGet in class JUCtrlValueBinding

    resetAttributeDefs

    protected void resetAttributeDefs()
    Overrides:
    resetAttributeDefs in class JUCtrlValueBinding

    getComboDisplayAttributeCount

    protected int getComboDisplayAttributeCount()

    getDisplayAttributeDefs

    protected AttributeDef[] getDisplayAttributeDefs()

    processNewInputValue

    public boolean processNewInputValue(java.lang.Object value)
    Compares the value (assumed to be a numeric String or an Integer) with currently selected index in this listbinding and if different, then returns true.

    Overrides:
    processNewInputValue in class JUCtrlValueBinding
    Parameters:
    value - new selectedIndex value.

    setStaticList

    protected void setStaticList(boolean staticList)

    getFilteredRowSetIterator

    protected RowSetIterator getFilteredRowSetIterator(java.util.Map valuesMap)
    Given a map of attribute names and values that they map to, shorten the data that this list is exposing.

    This method establishes a new ViewCriteria on the collection that the list source iterator binding is bound to. Looks up values from the given map based on the Attribute names in the associated list source collection and sets the corresponding values on a new ViewCriteria row that is added to the ViewCriteria. It then calls findByViewCriteria api on the associated list source iterator and returns the resulting RowSetIterator

    This filtered iterator may be used as datasource for lov dialogs that comes up if the iterator contains more than a row.


    getFilteredRowSetIteratorWithCaseCheck

    protected RowSetIterator getFilteredRowSetIteratorWithCaseCheck(java.util.Map valuesMap,
                                                                    boolean exact,
                                                                    boolean caseInsensitive)

    filterList

    public void filterList(java.util.Map valuesMap)
    Given a map of attribute names and values that they map to, shorten the data that this list is exposing.

    This method establishes a new ViewCriteria on the collection that the list source iterator binding is bound to. Looks up values from the given map based on the Attribute names in the associated list source collection and sets the corresponding values on a new ViewCriteria row that is added to the ViewCriteria and then applied on the collection to filter the collection.

    If the filtered list has only one row then that row is assumed as the selected row and list selection index is set to that row.


    handleFilteredList

    protected void handleFilteredList()

    getDisplayWidth

    public int getDisplayWidth()
    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:
    getDisplayWidth in class JUCtrlValueBinding

    isUpdateable

    public boolean isUpdateable()
    Overridden to return true incase of NavigationListBinding, so that list component is rendered as enabled.

    Specified by:
    isUpdateable in interface AttributeBinding
    Overrides:
    isUpdateable in class JUCtrlValueBinding
    Returns:
    True if the attribute is updateable, false otherwise.

    isAutoSubmit

    public boolean isAutoSubmit()
    Description copied from class: JUCtrlValueBinding
    Returns the autoSubmit value for this attribute.

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

    Overrides:
    isAutoSubmit in class JUCtrlValueBinding

    getSelectedIndices

    public int[] getSelectedIndices()

    getSelectedValues

    public java.lang.Object[] getSelectedValues()

    setSelectedIndices

    public void setSelectedIndices(int[] arr)

    clearSelectedIndices

    public void clearSelectedIndices()

    getSelectionAttributeName

    public java.lang.String getSelectionAttributeName()

    resetShuttle

    public void resetShuttle(DCIteratorBinding baseIter,
                             java.lang.String selectAttr,
                             JUCtrlListBinding otherList)

    shuttle

    public void shuttle(DCIteratorBinding baseIter,
                        java.lang.String selectAttr,
                        boolean select,
                        boolean selectAll,
                        JUCtrlListBinding otherList)

    findShuttleAvailableRows

    public RowIterator findShuttleAvailableRows(DCIteratorBinding baseIter,
                                                java.lang.String selectAttr)

    findShuttleSelectedRows

    public RowIterator findShuttleSelectedRows(DCIteratorBinding baseIter,
                                               java.lang.String selectAttr)

    moveToTop

    public void moveToTop(DCIteratorBinding baseRSI,
                          java.lang.String selectAttr)

    moveUp

    public void moveUp(DCIteratorBinding baseRSI,
                       java.lang.String selectAttr)

    moveDown

    public void moveDown(DCIteratorBinding baseRSI,
                         java.lang.String selectAttr)

    moveToBottom

    public void moveToBottom(DCIteratorBinding baseRSI,
                             java.lang.String selectAttr)

    getDisplayCriteriaName

    public java.lang.String getDisplayCriteriaName()
    Return the view criteria name that the LOV Search may use to filter the LOV results.


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

    E10653-04

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