Oracle ADF Faces - API Changes from ADF UIX
Validators and Converters

In ADF UIX there was no distinction between converters and validators. In JSF a converter is used to convert an object to and from a String for rendering. For example to convert a string like "5/25/95" to a java.util.Date object and back.

After a converter has converted a string value to the appropriate object, JSF Validators are then run to check that the object is "correct" in some way. For example it might check that the java.util.Date object is within some data range.

In JSF, converters can be attached to any component that implements ValueHolder, while validators can attached to any component that implements EditableValueHolder. In most cases ADF Faces converters and validators support client side conversion and validation, which is run when the form is submitted.

Converters

  • < color > client-side validator is now < af:convertColor > and uses transparentAllowed instead of allowsTransparent
  • < date > use spec tag < f:convertDateTime > . In addition there is a validator < af:validateDateTimeRange >

Validators

  • < regExp > is now < af:validateRegExp >
  • < byteLength > is now < af:validateByteLength > and uses maximum instead of maximumBytes
  • < utf8Length > use < af:validateByteLength > and set "encoding" to "UTF-8"

Components

[Common UIX attributes ] [Common ADF Faces attributes ] Notes
New attributes:
attributeChangeListener a method reference to an attribute change listener
binding a binding reference to store the component instance
partialTriggers a list of IDs of components on which to listen for updates. A partial update of any of the components in this list (the master components) will trigger a partial update of component on which this list is set (the dependent component). this attribute is the mirror of the old partialTargets attribute
Attributes:
formName Removed - components will submit the form they are enclosed in
formSubmitted Removed - components will submit the form they are enclosed in
onBlur onblur
onChange onchange
onClick onclick
onDoubleClick ondblclick
onFocus onfocus
onKeyDown onkeydown
onKeyPress onkeypress
onKeyUp onkeyup
onMouseDown onmousedown
onMouseMove onmousemove
onMouseOut onmouseout
onMouseOver onmouseover
onMouseUp onmouseup
parameters Removed The entire enclosing form is always submitted, no parameters should be necessary. In the rare cases where other client side values need to be passed back to the server, use inputHidden components.
partialRenderMode Removed - All partial events update the master component (self), and any other dependent components listening on it (multiple). A component may listen on another component by listing it in the partialTriggers attribute.
partialTargets Removed - instead of listing the dependent components (components that should be updated when the given master component gets a partial event) on each master component, the dependent component now lists all master components, to which it wishes to listen, in its partialTriggers attribute.
prompt label
promptAndAccessKey labelAndAccessKey








addTableRow Not Implemented Yet Notes
Derived from: base




applicationSwitcher menuChoice Notes
Derived from: optionContainer
Attributes:
destination Removed - components will submit the form they are enclosed in
name Removed - use id instead
selectedIndex Removed - use selected on commandMenuItem children
selectedValue Removed - use selected on commandMenuItem children
selection Removed - use selected on commandMenuItem children
unvalidated Removed - use "immediate" on commandMenuItem children




body body Notes
Derived from: base
Attributes:
dirty Removed at this time.
navigationExcludeNames Removed at this time.
navigationFormNames Removed at this time.
onNavigate Removed at this time.
onLoad onload
onLoad onunload
Additional notes:
body is in the afh: namespace, not the af: namespace. The tag name is < afh:body >




borderLayout panelBorder Notes
Derived from: base




boundText N/A Notes
Derived from: uinode
Additional notes:
Removed - use outputText instead.




breadCrumbs menuPat h Notes
Derived from: linkContainer




browseMenu treeTOC Notes
Derived from: base
Additional notes:
Not implemented yet.




bulletedList panelList Notes
Derived from: base
New Attributes:
maxColumns Sets the maximum number of columns to show.
Additional notes:
rows now defaults to value Integer.MAX_VALUE, which was 10 previously.




button goButton Notes
Derived from: link




cellFormat cellFormat Notes
Derived from: base
Additional notes:
cellFormat is in the afh: namespace, not the af: namespace. The tag name is < afh:cellFormat >




checkBox selectBooleanCheckbox Notes
Derived from: formElement
New Attributes:
autoSubmit Use instead of primaryClientAction. If set to TRUE, the component will automatically submit the enclosing form when the checkbox is clicked.
value a value binding expression used to retrieve a value dynamically from a model tier object during Render Response Phase. In addition, the value binding is used during Update Model Values phase (on the subsequent request) to push the possibly update component value back to the model tier object. This is used instead of the value and selectedValue attributes.
Attributes:
checked selected
name Removed - use id instead.
primaryClientAction Removed - use autoSubmit instead
selectedValue Removed - use the new value attribute instead
value Removed - use the new value attribute instead. The value binding is used during Update Model Values phase (on the subsequent request) to push the possibly updated component value back to the model tier object.




choice selectOneChoice Notes
Derived from: optionContainer
New attributes:
autoSubmit Use instead of primaryClientAction. If set to TRUE, the component will automatically submit the enclosing form when a selection is made.
value a value binding expression used to retrieve a value dynamically from a model tier object during Render Response Phase. In addition, the value binding is used during Update Model Values phase (on the subsequent request) to push the possibly update component value back to the model tier object. use instead of selectedValue.
Attributes:
name Removed - use id instead.
primaryClientAction Removed - use autoSubmit instead
selectedIndex Removed - use value instead.
selectedValue Removed - use value instead.
selection Removed - use value instead.




colorField selectInputColor Notes
Derived from: textInput
New attributes:
validator A method reference to a validator method.
Attributes:
destination Removed - hence no support for custom color pi cker at the moment.
name Removed - use 'id' instead.
paletteId chooseId The id of the inline chooseColor component which can be used to update the Color value for this selectInputColor.




colorPalette chooseColor Notes
Derived from: base
New attributes:
colorData The list of colors for the component.
customColorData The list of custom colors for the component.
Named children: Facets:
colorData Removed - use the colorData attribute instead.
customColorData Removed - use the customColorData attribute instead.




column column Notes
Derived from: base
New attributes:
sortProperty The name of the property to sort by.
sortable Whether or not to enable sorting of this column.
width formerly on columnFormat
noWrap formerly on columnFormat as "cellNoWrapFormat"
headerNoWrap formerly on columnHeaderFormat as "cellNoWrapFormat"
gridVisible formerly on columnFormat as "displayGrid"
formatType formerly on columnFormat as "columnDataFormat"
bandingShade formerly on columnFormat as "bandingShade"
Attributes:
usesSeparateRows isSeparateRows
columnFormat Removed - use the individual attrs on this tag.
columnHeaderFormat Removed - use the individual attrs on this tag.
Named children: Facets:
columnHeader header




columnGroup column Notes
Derived from: base
Additional notes:
Replace with column




contentContainer panelBox Notes
Derived from: base




contentFooter N/A Notes
Derived from: base
Additional notes:
Removed - use panelPage




dateField selectInputDate Notes
Derived from: textInput
New Attributes:
label
labelAndAccessKey
simple
validator A method reference to a validator method.
Attributes:
destination Removed - hence no support for custom date picker at the moment.
maxValue Removed - attach DateTimeRangeValidator
minValue Removed - attach DateTimeRangeValidator (validateDateTimeRange tag)
name Removed - use id instead
pickerId chooseId




displayException N/A Notes
Derived from: uinode
Additional notes:
Removed - use JSTL's < c:catch > instead.




fileUpload inputFile Notes
Derived from: base
New attributes:
valueChangeListener
immediate
Additional notes:
Set simple="true" for fileUpload (not messageFileUpload)




flowLayout panelGroup Notes
Derived from: base
New attributes:
layout Defaults to a flowLayout. You can also explicitly set to "default" for a flowLayout.




frameBorderLayout frameBorderLayout Notes
Derived from: base
Additional notes:
frameBorderLayout is in the afh: namespace, not the af: namespace. The tag name is < afh:frameBorderLayout >




form form Notes
Derived from: base
Attributes:
onSubmit onsubmit
method Removed - always POST
destination Removed - always posts back to originating page




formattedText outputFormatted Notes
Derived from: base
Attributes:
text value




formParameter N/A Notes
Derived from: base
Additional notes:
Removed




formValue inputHidden Notes
Derived from: base
New attributes:
new name valueChangeListener
immediate valueChangeListener
Attributes:
name id




globalButton commandMenuItem Notes
Derived from: link
New attributes:
action a reference to an action method sent by the command component, or the static outcome of an action
actionListener a method reference to an action listener
Attributes:
destination Removed - use action/actionListener instead
longDest Removed
source Removed - use icon instead
targetFrame Removed




globalButtonBar menuButtons Notes
Derived from: base




globalHeader menuBar Notes
Derived from: linkContainer
Attributes:
selectedIndex Removed - use selected on commandLink children instead.
text Removed - use a title on panelPage instead




head head Notes
Derived from: base




header panelHeader Notes
Derived from: base




hGrid treeTable Notes
Derived from: base
New attributes:
focusListener listener interested in FocusEvents
rangeChangeListener listener interested in RangeChangeEvents
focusPath The path to the tree node that has the current focus
Attributes:
tableFormat banding use "banding" and "bandingInterval"
columnFormats Removed - use the corresponding attrs on < column >
columnHeaderFormats Removed - use the corresponding attrs on < column >
columnHeaderData Removed - use the corresponding attrs on < column >
destination Removed
formSubmitted Removed
unvalidated Removed
proxied Removed
nameTransformed Removed
proxy Removed
treeData value
alternateText emptyText
childBlockSize rowsByDepth
Named children: Facets:
columnHeaderStamp Use "header" on < column >
tableActions actions
tableSelection selection




hideShow showDetail Notes
Derived from: base
Attributes:
destination Removed
disclosed Should no longer be databound; it will be handled automatically by the showDetail
unvalidated immediate
Additional notes:




hideShowHeader showDetailHeader Notes
Derived from: base
Attributes:
destination Removed
disclosed Should no longer be databound; it will be handled automatically by the showDetail
unvalidated immediate
Additional notes:




html html Notes
Derived from: base
Named children: Facets:
metaContainer Removed - simply add as standard child (but before any body!)
Additional notes:
html is in the afh: namespace, not the af: namespace. The tag name is < afh:html >




icon objectIcon Notes
Derived from: base




iconKey objectLegend Notes
Derived from: base




image objectImage Notes
Derived from: base
Attributes:
autoFlip Removed
destination Removed - wrap objectImage inside of a commandLink or goLink.
hAlign align
primaryClientAction Removed
text Removed




importScript importScript Notes
Derived from: base




include N/A Notes
Derived from: uinode
Additional notes:
Removed - use jsp:include for including files, and the "binding" attribute for including programatically constructed components.




inlineDatePicker chooseDate Notes
Derived from: base




inlineMessage N/A Notes
Derived from: base
Additional notes:
Removed - use panelLabelAndMessage instead - see messageLayout




labeledFieldLayout N/A Notes
Derived from: base
Additional notes:
Removed - use panelForm instead - see messageComponentLayout