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


oracle.jbo.uicli.binding
Class JUCtrlValueBinding

java.lang.Object
  extended byjava.util.AbstractMap
      extended byoracle.jbo.common.JboAbstractMap
          extended byoracle.adf.model.binding.DCControlBinding
              extended byoracle.jbo.uicli.binding.JUControlBinding
                  extended byoracle.jbo.uicli.binding.JUCtrlValueBinding

All Implemented Interfaces:
JUCtrlInputValueHandler, java.util.Map, StructureDef
Direct Known Subclasses:
JUCtrlAttrsBinding, JUCtrlHierNodeBinding, JUCtrlRangeBinding

public abstract class JUCtrlValueBinding
extends JUControlBinding
implements StructureDef, JUCtrlInputValueHandler

A JUControlBinding class responsible for maintaining which attribute(s) of a row this binding can display/update. This class accepts a list of attribute names and gets the AttributeDef objects for those attributes from the associated ViewObject. This class also provides APIs to update values in a control given a new row or a set of rows. JUIteratorBinding uses APIs in this class to notify the controls of:

This class also has accessor methods that return attribute values for Attributes with which this control binding is working. The indices of these attributes are ordered based on the names provided to this control binding in the constructor.


Nested Class Summary

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

Field Summary
static java.lang.String ATTR_ATTRIBUTE
static java.lang.String ATTR_ATTRIBUTE_DEF
static java.lang.String ATTR_ATTRIBUTE_DEFS
static java.lang.String ATTR_ATTRIBUTE_VALUE
static java.lang.String ATTR_ATTRIBUTE_VALUES
static java.lang.String ATTR_ATTRIBUTES
static java.lang.String ATTR_DISPLAY_HINT
static java.lang.String ATTR_INPUT_VALUE
static java.lang.String ATTR_LABEL
static java.lang.String ATTR_LABELS
static java.lang.String ATTR_LABELSET
static java.lang.String ATTR_MANDATORY
static java.lang.String ATTR_PATH
static java.lang.String ATTR_TOOLTIP
static java.lang.String ATTR_UPDATEABLE
protected boolean mHasInputVal
protected java.lang.Object mInputVal
static java.lang.String 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, mInternalGet_KeyResolved, ROW_KEY_STR

Constructor Summary
protected JUCtrlValueBinding()
JUCtrlValueBinding(java.lang.Object control, DCIteratorBinding iterBinding, java.lang.String[] attrNames)

Method Summary
void compareAndSetAttribute(int index, java.lang.Object cVal)
Advanced method.
boolean displayInShortForm()
Returns true if the attribute is to displayed in the short(summary) form.
AttributeDef findAttributeDef(java.lang.String name)
Gets an attribute definition, given its name.
java.lang.Object getAttribute()
Returns formatted attribute value for this binding.
java.lang.Object getAttribute(int index)
Returns formatted attribute value for the attribute at the given index in this control binding's definition.
java.lang.Object getAttribute(java.lang.String name)
int getAttributeCount()
Returns the number of defined attributes.
AttributeDef getAttributeDef()
Primarily for spel support.
AttributeDef getAttributeDef(int index)
Returns attribute definition at the given index.
AttributeDef[] getAttributeDefs()
Return Attribute definitions of the attributes to which this binding is bound to.
java.lang.Object getAttributeFromRow(int rowIndexInRange, int attrIndex)
Return formatted attribute value for the attribute at given index in the row at the given row index within the current range in the iterator that this binding is associated with.
java.lang.Object getAttributeFromRow(int rowIndexInRange, java.lang.String name)
Return formatted attribute value for the attribute of the given name in the row at the given row index within the current range in the iterator that this binding is associated with.
java.lang.Object getAttributeFromRow(Row row, AttributeDef def)
Return formatted attribute value for the attribute with the given attribute definition and in the given row.
java.lang.Object getAttributeFromRow(Row row, int attrIndex)
Return the attribute value for the attribute at the given index in this control binding and from within the given row.
java.lang.Object getAttributeFromRow(Row row, java.lang.String name)
Return the attribute value for the attribute of the given name from within the given row.
int getAttributeIndexOf(java.lang.String name)
Finds the index (0-based) of the named attribute.
java.lang.String[] getAttributeNames()
Return names of the attributes to which this binding is bound to and as defined in the binding definition.
java.lang.Object[] getAttributes()
Returns formatted attribute values for this binding.
protected java.util.ArrayList getAttributes(Row row, AttributeDef[] attrs)
Returns formatted attribute values for the given set of attribute defs.
protected AttributeHints getAttributeUIHelper(java.lang.String attrName)
java.util.ArrayList getAttributeValidators()
java.util.ArrayList getAttributeValidators(int index)
java.lang.Object getAttributeValue()
Returns unformatted attribute value of the first attribute
java.lang.Object getAttributeValue(int j)
Returns unformatted attribute value of the first attribute
protected java.lang.Object getAttributeValueFromRow(int rowIndexInRange, int attrIndex)
Returns unformatted attribute value of the first attribute
java.lang.Object[] getAttributeValues()
Returns unformatted attribute values for this binding.
protected java.util.ArrayList getAttributeValues(Row row, AttributeDef[] attrs)
Returns un-formatted (raw) attribute values.
int getControlType()
Returns the preferred control type for this attribute.
int getDisplayHeight()
Returns the display width for this attribute.
java.lang.String getDisplayHint()
Retrieves the display hint that dictates whether this attribute should be visible or not.
int getDisplayWidth()
Returns the display width for this attribute.
JboException getError()
Primarily for spel support.
java.util.List getErrors()
Primarily for spel support.
java.lang.String getHint(java.lang.String sHintName)
Returns the hint value based on the hint name.
java.lang.String getHint(java.lang.String voAttrName, java.lang.String objectAttrName, java.lang.String sHintName)
Returns the hint value based on the hint name.
java.lang.Object getInputValue()
Primarily for spel support.
java.lang.String getLabel()
Retrieves the label to be used in any attribute prompts
java.lang.String getLabel(java.lang.String voAttrName, java.lang.String objectAttrName)
Retrieves the label to be used in any attribute prompts
java.util.Map getLabels()
java.lang.String[] getLabelSet()
LocaleContext getLocaleContext()
protected static java.lang.String getMergedAttributeValues(java.util.List al)
java.lang.String getPath()
java.lang.String getTooltip()
Retrives the tooltip text to be used for this attribute.
java.lang.String getTooltip(java.lang.String voAttrName, java.lang.String objectAttrName)
Retrives the tooltip text to be used for this attribute.
boolean hasFormatInformation()
Returns true if any format hints have been defined for this attribute.
protected java.lang.Object internalGet(java.lang.String key)
Subclasses should override this to handle a specific key.
protected Row internalGetRow()
boolean isArrayIteratorType()
boolean isAttributeMandatory(int index)
Returns true if the attribute at the given index is set to be mandatory.
boolean isAttributeUpdateable(int index)
Determines whether this attribute is updateable for that row instance.
boolean isMandatory()
Primarily for spel support.
boolean isNewInputValue(JUCtrlValueBinding binding, int index, java.lang.Object value)
Returns true, if the caller needs to call setInputValue() on this binding to update the current attribute value that this binding is set to.
boolean isUpdateable()
Primarily for spel support.
AttributeDef lookupAttributeDef(java.lang.String name)
Gets an attribute definition, given its name.
protected void processInputException(ValidationException vex)
boolean processNewInputValue(java.lang.Object value)
Returns true, if the caller needs to call setInputValue() on this binding to update the current attribute value that this binding is set to.
java.lang.Object put(java.lang.Object obj, java.lang.Object value)
protected void release(int flags)
protected void resetInputState()
Resets any exceptions and client-side values that this binding may hold.
void setArrayIteratorType()
void setAttribute(int index, java.lang.Object value)
void setAttribute(java.lang.String name, java.lang.Object value)
void setAttributeInRow(int rowIndexInRange, int attrIndex, java.lang.Object value, boolean handleException)
void setAttributeInRow(int rowIndexInRange, java.lang.String name, java.lang.Object value, boolean handleException)
void setAttributeInRow(Row row, AttributeDef def, java.lang.Object value)
void setAttributeInRow(Row row, AttributeDef def, java.lang.Object value, boolean handleException)
void setAttributeInRow(Row row, int attrIndex, java.lang.Object value, boolean handleException)
void setAttributeInRow(Row row, java.lang.String name, java.lang.Object value, boolean handleException)
void setAttributeValue(java.lang.Object val)
Primarily for spel support.
protected void setError(JboException vex, java.lang.Object value)
void setInputValue(JUCtrlValueBinding binding, int index, java.lang.Object value)
Implement value specific handling of the inputValue.
void setInputValue(java.lang.Object value)
Primarily for spel support.
void setInputValueHandler(JUCtrlInputValueHandler hdlr)
void stopEditing()
Notified by NavigationBar to stop any edits on the current control.
abstract void updateNavigated(NavigationEvent event)
Update the current row display as the currency has navigated in the iterator with which this control binding is working.
abstract void updateRangeScrolled(ScrollEvent event)
Update the control display based on whether the rows of data has scrolled.
void updateRowDeleted(DeleteEvent event)
Notification that a row was deleted in the associated iterator.
void updateRowInserted(InsertEvent event)
Notification that a new row was inserted in the associated iterator.
void updateValuesFromRow(Row row)
Given a row, update the control with new attribute values from this row based on the attributes with which this binding is associated.
abstract void updateValuesFromRows(Row[] rows, boolean clear)
Given a set of rows, update the control with new attribute values from the rows based on the attributes with which this binding is associated.

Methods inherited from class oracle.jbo.uicli.binding.JUControlBinding
addControlToPanel, getFormBinding, getIteratorBinding, reportException, setFormBinding

Methods inherited from class oracle.adf.model.binding.DCControlBinding
addToDCExceptions, executeQuery, executeQueryIfNeeded, get, getAllRowsInRange, getApplicationModule, getBindingContainer, getControl, getControlModel, getCurrentRow, getDCIteratorBinding, getDef, getDefFullName, getDefName, getFullName, getLayoutObject, getName, getRowAtRangeIndex, getRowIterator, getTransaction, getViewObject, hashCode, internalSetName, isControlQueriable, needsEstimatedRowCount, refreshControl, removeFromDCExceptions, reportException, resetAttributeExceptionInRow, setBindingContainer, setControl, setName, toString

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

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.jbo.StructureDef
getDefFullName, getDefName, getFullName, getName

Field Detail

mHasInputVal

protected boolean mHasInputVal

mInputVal

protected java.lang.Object mInputVal

SEP_LIST_DISPLAY

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

ATTR_LABEL

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

ATTR_LABELS

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

ATTR_LABELSET

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

ATTR_TOOLTIP

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

ATTR_DISPLAY_HINT

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

ATTR_ATTRIBUTE

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

ATTR_ATTRIBUTES

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

ATTR_ATTRIBUTE_DEF

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

ATTR_ATTRIBUTE_DEFS

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

ATTR_ATTRIBUTE_VALUE

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

ATTR_ATTRIBUTE_VALUES

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

ATTR_INPUT_VALUE

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

ATTR_UPDATEABLE

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

ATTR_MANDATORY

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

ATTR_PATH

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

Constructor Detail

JUCtrlValueBinding

protected JUCtrlValueBinding()

JUCtrlValueBinding

public JUCtrlValueBinding(java.lang.Object control,
                          DCIteratorBinding iterBinding,
                          java.lang.String[] attrNames)

Method Detail

updateValuesFromRow

public void updateValuesFromRow(Row row)
Given a row, update the control with new attribute values from this row based on the attributes with which this binding is associated.

updateValuesFromRows

public abstract void updateValuesFromRows(Row[] rows,
                                          boolean clear)
Given a set of rows, update the control with new attribute values from the rows based on the attributes with which this binding is associated. If clear is true, the control is expected to remove the current displayed value and associated children values (like in a tree, remove all subnodes) and then set the new values.

updateRangeScrolled

public abstract void updateRangeScrolled(ScrollEvent event)
Update the control display based on whether the rows of data has scrolled.
See Also:
ScrollEvent

updateNavigated

public abstract void updateNavigated(NavigationEvent event)
Update the current row display as the currency has navigated in the iterator with which this control binding is working.

updateRowInserted

public void updateRowInserted(InsertEvent event)
Notification that a new row was inserted in the associated iterator. Control-bindings like JTable refresh their display to show the new row on this event.

updateRowDeleted

public void updateRowDeleted(DeleteEvent event)
Notification that a row was deleted in the associated iterator. Moves the currency on the associated row iterator to the next row (or previous row if there is no next row) when the currency on the iterator was on the deleted row.

getAttributeNames

public java.lang.String[] getAttributeNames()
Return names of the attributes to which this binding is bound to and as defined in the binding definition.

getAttributeDefs

public AttributeDef[] getAttributeDefs()
Return Attribute definitions of the attributes to which this binding is bound to.
Specified by:
getAttributeDefs in interface StructureDef
Returns:
an array of attribute definitions.

getAttributeDef

public AttributeDef getAttributeDef(int index)
Returns attribute definition at the given index. Returns null if not found.
Specified by:
getAttributeDef in interface StructureDef
Parameters:
index - the index of an AttributeDef, where the leftmost attribute has index zero.
Returns:
an attribute definition.

lookupAttributeDef

public AttributeDef lookupAttributeDef(java.lang.String name)
Description copied from interface: StructureDef
Gets an attribute definition, given its name.
Specified by:
lookupAttributeDef in interface StructureDef
Parameters:
name - the name of an AttributeDef.
Returns:
an attribute definition if found, null otherwise

findAttributeDef

public AttributeDef findAttributeDef(java.lang.String name)
Description copied from interface: StructureDef
Gets an attribute definition, given its name.
Specified by:
findAttributeDef in interface StructureDef
Parameters:
name - the name of an AttributeDef.
Returns:
an attribute definition

getAttributeFromRow

public java.lang.Object getAttributeFromRow(int rowIndexInRange,
                                            int attrIndex)
Return formatted attribute value for the attribute at given index in the row at the given row index within the current range in the iterator that this binding is associated with.

getAttributeFromRow

public java.lang.Object getAttributeFromRow(int rowIndexInRange,
                                            java.lang.String name)
Return formatted attribute value for the attribute of the given name in the row at the given row index within the current range in the iterator that this binding is associated with.

getAttributeFromRow

public java.lang.Object getAttributeFromRow(Row row,
                                            AttributeDef def)
Return formatted attribute value for the attribute with the given attribute definition and in the given row.

getAttributeFromRow

public java.lang.Object getAttributeFromRow(Row row,
                                            int attrIndex)
Return the attribute value for the attribute at the given index in this control binding and from within the given row.

getAttributeFromRow

public java.lang.Object getAttributeFromRow(Row row,
                                            java.lang.String name)
Return the attribute value for the attribute of the given name from within the given row.

setAttributeInRow

public void setAttributeInRow(int rowIndexInRange,
                              int attrIndex,
                              java.lang.Object value,
                              boolean handleException)

setAttributeInRow

public void setAttributeInRow(int rowIndexInRange,
                              java.lang.String name,
                              java.lang.Object value,
                              boolean handleException)

setAttributeInRow

public void setAttributeInRow(Row row,
                              AttributeDef def,
                              java.lang.Object value)

setAttributeInRow

public void setAttributeInRow(Row row,
                              AttributeDef def,
                              java.lang.Object value,
                              boolean handleException)

setAttributeInRow

public void setAttributeInRow(Row row,
                              int attrIndex,
                              java.lang.Object value,
                              boolean handleException)

setAttributeInRow

public void setAttributeInRow(Row row,
                              java.lang.String name,
                              java.lang.Object value,
                              boolean handleException)

internalGetRow

protected Row internalGetRow()

getAttribute

public java.lang.Object getAttribute(int index)
Returns formatted attribute value for the attribute at the given index in this control binding's definition.

getAttribute

public java.lang.Object getAttribute(java.lang.String name)

getAttribute

public java.lang.Object getAttribute()
Returns formatted attribute value for this binding.

getAttributes

public java.lang.Object[] getAttributes()
Returns formatted attribute values for this binding.

getAttributes

protected java.util.ArrayList getAttributes(Row row,
                                            AttributeDef[] attrs)
Returns formatted attribute values for the given set of attribute defs.

setAttribute

public void setAttribute(int index,
                         java.lang.Object value)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)

getAttributeCount

public int getAttributeCount()
Description copied from interface: StructureDef
Returns the number of defined attributes.
Specified by:
getAttributeCount in interface StructureDef
Returns:
the number of attributes.

getAttributeIndexOf

public int getAttributeIndexOf(java.lang.String name)
Description copied from interface: StructureDef
Finds the index (0-based) of the named attribute.
Specified by:
getAttributeIndexOf in interface StructureDef
Parameters:
name - the attribute's name.
Returns:
an integer in the range 0 to getAttributeCount() - 1. If the named attribute is not found, it returns -1.

getAttributeValue

public java.lang.Object getAttributeValue()
Returns unformatted attribute value of the first attribute

getAttributeValue

public java.lang.Object getAttributeValue(int j)
Returns unformatted attribute value of the first attribute

setAttributeValue

public void setAttributeValue(java.lang.Object val)
Primarily for spel support. Could be removed prior to 905Prod and merged into a get() method for spel-access.

Sets the value to the first attribute in this binding.


getAttributeValues

protected java.util.ArrayList getAttributeValues(Row row,
                                                 AttributeDef[] attrs)
Returns un-formatted (raw) attribute values.

getAttributeValueFromRow

protected java.lang.Object getAttributeValueFromRow(int rowIndexInRange,
                                                    int attrIndex)
Returns unformatted attribute value of the first attribute

getAttributeValues

public java.lang.Object[] getAttributeValues()
Returns unformatted attribute values for this binding.

getMergedAttributeValues

protected static java.lang.String getMergedAttributeValues(java.util.List al)

isAttributeMandatory

public boolean isAttributeMandatory(int index)
Returns true if the attribute at the given index is set to be mandatory.

isAttributeUpdateable

public boolean isAttributeUpdateable(int index)
Determines whether this attribute is updateable for that row instance. Returns true if iterator is in data mode and is the corresponding row. If iterator is in find mode, then does an additional check to determine whether the associated control is queriable.

stopEditing

public void stopEditing()
Notified by NavigationBar to stop any edits on the current control. Primarily for grid and tree to notify their cell editors to stop editing.

setArrayIteratorType

public void setArrayIteratorType()

isArrayIteratorType

public boolean isArrayIteratorType()

release

protected void release(int flags)
Overrides:
release in class DCControlBinding

getLocaleContext

public final LocaleContext getLocaleContext()

getAttributeUIHelper

protected final AttributeHints getAttributeUIHelper(java.lang.String attrName)

getLabelSet

public java.lang.String[] getLabelSet()

getLabels

public java.util.Map getLabels()

getLabel

public java.lang.String getLabel()
Retrieves the label to be used in any attribute prompts

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


getTooltip

public java.lang.String getTooltip()
Retrives the tooltip text to be used for this attribute. Calling this on a control-binding that does not have an attribute will throw a NullPointerException

getDisplayHint

public java.lang.String getDisplayHint()
Retrieves the display hint that dictates whether this attribute should be visible or not. The two possible values are:

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


getControlType

public int getControlType()
Returns the preferred control type for this attribute.

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


getDisplayWidth

public int getDisplayWidth()
Returns the display width for this attribute.

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


getDisplayHeight

public int getDisplayHeight()
Returns the display width for this attribute.

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


getHint

public java.lang.String getHint(java.lang.String sHintName)
Returns the hint value based on the hint name.

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


hasFormatInformation

public boolean hasFormatInformation()
Returns true if any format hints have been defined for this attribute. This function should be used to bracket any calls to the formatting API.

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


displayInShortForm

public boolean displayInShortForm()
Returns true if the attribute is to displayed in the short(summary) form.

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


getLabel

public java.lang.String getLabel(java.lang.String voAttrName,
                                 java.lang.String objectAttrName)
Retrieves the label to be used in any attribute prompts

getTooltip

public java.lang.String getTooltip(java.lang.String voAttrName,
                                   java.lang.String objectAttrName)
Retrives the tooltip text to be used for this attribute.

getHint

public java.lang.String getHint(java.lang.String voAttrName,
                                java.lang.String objectAttrName,
                                java.lang.String sHintName)
Returns the hint value based on the hint name.

getAttributeValidators

public final java.util.ArrayList getAttributeValidators()

getAttributeValidators

public java.util.ArrayList getAttributeValidators(int index)

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: