Oracle Fusion Middleware extensions for Applications Core API Reference
11g Release 1 (11.1.1.6)

E22562-03

oracle.apps.fnd.applcore.flex.ui
Class DescriptiveFlexfield

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by org.apache.myfaces.trinidad.component.UIXComponent
          extended by org.apache.myfaces.trinidad.component.UIXComponentBase
              extended by org.apache.myfaces.trinidad.component.UIXPanel
                  extended by oracle.adf.view.rich.component.rich.layout.RichPanelFormLayout
                      extended by oracle.apps.fnd.applcore.flex.dynamic.DynamicForm
                          extended by oracle.apps.fnd.applcore.flex.ui.DescriptiveFlexfield
All Implemented Interfaces:
java.io.Serializable, javax.faces.component.StateHolder, CustomizationResolver, org.apache.myfaces.trinidad.component.FlattenedComponent
Direct Known Subclasses:
KeyFlexfieldMaintenance, KeyFlexfieldPartial

public class DescriptiveFlexfield
extends DynamicForm
implements org.apache.myfaces.trinidad.component.FlattenedComponent, CustomizationResolver, java.io.Serializable

Fusion descriptive flexfield component class, it doesn't have a renderer, but it will inherit an ADF layout component behavior and generate dynamic children at runtime.

See Also:
Serialized Form

Nested Class Summary
 class DescriptiveFlexfield.DefaultFlexValueChangeListener
          Defaults Flex Value Change Listener inner class which implements ValueChangeListener.
static class DescriptiveFlexfield.FlexContextListener
          Flex Context Value Change Listener inner class which implements ValueChangeListener.
 class DescriptiveFlexfield.FlexParameterValueChangeListener
          Flex Parameter Value Change Listener inner class which implements ValueChangeListener.
 
Field Summary
static org.apache.myfaces.trinidad.bean.PropertyKey ACCESSOR_KEY
           
static org.apache.myfaces.trinidad.bean.PropertyKey AUTOSUBMIT_KEY
           
static java.lang.String COMPONENT_TYPE
          component type.
static org.apache.myfaces.trinidad.bean.PropertyKey CUSTOMIZATION_KEY
           
static org.apache.myfaces.trinidad.bean.PropertyKey FLATTEN_CHILDREN_KEY
           
static org.apache.myfaces.trinidad.bean.PropertyKey MODE_KEY
           
static org.apache.myfaces.trinidad.bean.PropertyKey READONLY_KEY
           
static org.apache.myfaces.trinidad.bean.PropertyKey TABLE_MODE_KEY
           
static org.apache.myfaces.trinidad.bean.FacesBean.Type TYPE
           
static org.apache.myfaces.trinidad.bean.PropertyKey VALUE_CHANGE_LISTENER_KEY
           
 
Fields inherited from class oracle.apps.fnd.applcore.flex.dynamic.DynamicForm
CATEGORY, CATEGORY_KEY, DISPLAYHINT, EDITABLE_KEY, factories, FIELDORDER, VALUE_KEY
 
Fields inherited from class oracle.adf.view.rich.component.rich.layout.RichPanelFormLayout
CLIENT_ATTRIBUTES_KEY, CLIENT_COMPONENT_KEY, CLIENT_LISTENERS_KEY, COMPONENT_FAMILY, CUSTOMIZATION_ID_KEY, FIELD_WIDTH_KEY, FOOTER_FACET, INLINE_STYLE_KEY, LABEL_ALIGNMENT_KEY, LABEL_ALIGNMENT_START, LABEL_ALIGNMENT_TOP, LABEL_WIDTH_KEY, MAX_COLUMNS_KEY, PARTIAL_TRIGGERS_KEY, ROWS_KEY, SHORT_DESC_KEY, STYLE_CLASS_KEY, UNSECURE_KEY, VISIBLE_KEY
 
Fields inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase
BINDING_KEY, ID_KEY, RENDERED_KEY, RENDERER_TYPE_KEY, TRANSIENT_KEY
 
Fields inherited from class javax.faces.component.UIComponent
bindings
 
Constructor Summary
DescriptiveFlexfield()
          constructor.
 
Method Summary
 void addRowSetListener(oracle.jbo.uicli.binding.JUIteratorBinding iterBinding)
          Skip row set listener for table.
 java.lang.String calculateCustomizationPath(oracle.jbo.AttributeDef def)
          generate the path for a def: global segment: _Global_.attrName global display segment: _Global_.GlobalAttributeName context segemnet: contextvalue.attrName context sensitive segment : contextvalue.attrName context sensitive display segment : contextvalue.SegmentAttributeName
protected  oracle.adf.model.binding.DCControlBinding createBinding(javax.faces.context.FacesContext context, oracle.jbo.uicli.binding.JUIteratorBinding iterator, oracle.jbo.LocaleContext localCtx, oracle.jbo.AttributeDef def)
          Just created a binding on the iterator without the component
protected  void createChildren(javax.faces.context.FacesContext context)
          Create and populates Children under DFF.
 void createDynamicColumns()
          create column groups under the original column for DFF segments (when used in table).
protected  void createDynamicSwitcher(javax.faces.context.FacesContext context)
          Creates dynamic switchers for rendering context sensitive fields.
protected  org.apache.myfaces.trinidad.component.UIXComponent createFlexComponent(javax.faces.context.FacesContext context, oracle.jbo.uicli.binding.JUIteratorBinding iterator, oracle.jbo.LocaleContext localCtx, oracle.jbo.AttributeDef def)
          create a UI component for a given attribute def.
protected  org.apache.myfaces.trinidad.component.UIXComponent createFlexFormComponent(javax.faces.context.FacesContext context, oracle.jbo.uicli.binding.JUIteratorBinding iterator, oracle.jbo.LocaleContext localCtx, oracle.jbo.AttributeDef def)
          create a UI component for a given attribute def.
 void decode(javax.faces.context.FacesContext context)
          to add parent as partial target
static void decodeComponent(javax.faces.context.FacesContext context, org.apache.myfaces.trinidad.component.UIXEditableValue component)
          Decocde component and set the UI value back to component if the value is changed to avoid value getting lost during PPR
 java.lang.String getAccessor()
          Gets the accessor name.
protected  oracle.jbo.AttributeDef[] getAttributeDefinitions(oracle.jbo.uicli.binding.JUIteratorBinding iterator)
          Gets the set of attributes for current ro of given iterator.
 javax.el.ValueExpression getAutoSubmit()
          ValueExpression for autoSubmit attribute of DFF.
protected  org.apache.myfaces.trinidad.bean.FacesBean.Type getBeanType()
           
protected  java.lang.String getCategoryValue(oracle.jbo.AttributeDef aDef, oracle.jbo.LocaleContext localCtx)
          Gets the category associated with given attribute.
protected  java.lang.String getClassName()
           
 java.lang.String getCurrentDiscriminatorValue(oracle.jbo.Row row, oracle.jbo.uicli.binding.JUIteratorBinding iterator)
           
protected  oracle.jbo.Row getCurrentRow(oracle.jbo.uicli.binding.JUIteratorBinding iterator)
           
 FlexfieldCustomization getCustomization()
          Gets the Flexfield Customization.
protected  oracle.jbo.AttributeDef[] getDefaultAttributeDefinitions(oracle.jbo.uicli.binding.JUIteratorBinding iterator)
          return default attribute defs is row is null
 java.lang.String getMode()
          Gets the DFF mode attribute.
 javax.el.ValueExpression getReadOnly()
          ValueExpression for readOnly attribute of DFF.
protected  java.lang.String getSegmentCutomizationString(java.lang.String currentDiscriminatorValue, oracle.jbo.AttributeDef def)
           
 java.lang.String getTableMode()
          Checks whether table mode is set.
 javax.el.MethodExpression getValueChangeListener()
          Gets the ValueChangeListener associated with DFF.
protected  java.lang.String getViewId()
           
 javax.el.ValueExpression getVisible()
          ValueExpression for visible attribute of DFF.
 boolean isFlatteningChildren(javax.faces.context.FacesContext context)
          Checks whether this component need to flatten its children.
 boolean isReadOnly()
          Gets the actual boolean value for readOnly when set as literal.
protected  void populateFactories()
          add factories
protected  void postCreateComponent(javax.faces.context.FacesContext context, oracle.jbo.uicli.binding.JUIteratorBinding iterator, oracle.jbo.LocaleContext localCtx, oracle.jbo.AttributeDef def, org.apache.myfaces.trinidad.component.UIXComponent component)
          API called after an UI component is create, for autosumit/PPR.
 void preCreateChildren()
          Pre Render processing for DFF component.
<S> boolean
processFlattenedChildren(javax.faces.context.FacesContext context, org.apache.myfaces.trinidad.component.ComponentProcessingContext cpContext, org.apache.myfaces.trinidad.component.ComponentProcessor<S> childProcessor, S callbackContext)
          Implementation for ProcessFlattenChildren API for DescriptiveFlexfield component.
 java.util.List<javax.el.ValueExpression> resolveCustomization(java.lang.String cutomizationPath, java.lang.String property)
          given a customization path and property, figuer out the customizations
 void setAccessor(java.lang.String accessorName)
          Sets the accessor name.
 void setBindingChanged(boolean bindingChanged)
          overwrite super class
 void setMode(java.lang.String mode)
          Sets the mode for DFF.
 void setParent(javax.faces.component.UIComponent parentComp)
          Sets the parent
 void setSelfRefresh(boolean value)
           
 void setTableMode(java.lang.String mode)
          Sets the value for tableMode
protected  boolean skipCreateChildren(javax.faces.context.FacesContext context, oracle.jbo.uicli.binding.JUIteratorBinding iterator)
          Checks whether Children creation need to be skipped for conext sensetive segments.
static void updateFlexColumns(oracle.adf.view.rich.component.rich.data.RichTable table)
          Refreshes the structure of DFF/KFFPartial/KFFMaintenance when used in a column mode of an Applications Table
 
Methods inherited from class oracle.apps.fnd.applcore.flex.dynamic.DynamicForm
addFactory, afterCreateChildren, encodeBegin, getBaseFactory, getCategory, getControlType, getEditPermission, getFilteredAttributeDefinitions, getIterator, getLoggingPrefix, getValue, isBindingChanged, isEditable, log, logFinest, loggingEnabled, loggingFinestEnabled, logMethod, logMethodFinest, releaseBindings, setCategory, setEditable, setValue, skipAttributeDef
 
Methods inherited from class oracle.adf.view.rich.component.rich.layout.RichPanelFormLayout
getClientAttributes, getClientListeners, getCustomizationId, getFamily, getFieldWidth, getFooter, getInlineStyle, getLabelAlignment, getLabelWidth, getMaxColumns, getPartialTriggers, getRows, getShortDesc, getStyleClass, getUnsecure, isClientComponent, isVisible, setClientAttributes, setClientComponent, setClientListeners, setCustomizationId, setFieldWidth, setFooter, setInlineStyle, setLabelAlignment, setLabelWidth, setMaxColumns, setPartialTriggers, setRows, setShortDesc, setStyleClass, setUnsecure, setVisible
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase
adaptMethodBinding, addAttributeChange, addAttributeChangeListener, addFacesListener, broadcast, broadcastToMethodBinding, broadcastToMethodExpression, createFacesBean, decodeChildren, decodeChildrenImpl, encodeChildren, encodeEnd, findComponent, getAttributeChangeListener, getAttributeChangeListeners, getAttributes, getBooleanProperty, getChildCount, getChildren, getClientId, getContainerClientId, getFacesBean, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacetNames, getFacets, getFacetsAndChildren, getId, getIntProperty, getLifecycleRenderer, getParent, getProperty, getPropertyKey, getRenderer, getRendererType, getRendersChildren, getValueBinding, getValueExpression, invokeOnChildrenComponents, invokeOnComponent, invokeOnNamingContainerComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeAttributeChangeListener, removeFacesListener, restoreState, satisfiesPartialTrigger, saveState, setAttributeChangeListener, setAttributeChangeListener, setBooleanProperty, setId, setIntProperty, setProperty, setRendered, setRendererType, setTransient, setValueBinding, setValueExpression, toString, updateChildren, updateChildrenImpl, validateChildren, validateChildrenImpl
 
Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponent
addPartialTarget, encodeFlattenedChild, encodeFlattenedChildren, getLogicalParent, getLogicalParent, isVisitable, partialEncodeVisit, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, setPartialTarget, setUpEncodingContext, setupVisitingContext, tearDownEncodingContext, tearDownVisitingContext, visitTree, visitTree
 
Methods inherited from class javax.faces.component.UIComponent
encodeAll, getContainerClientId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMPONENT_TYPE

public static final java.lang.String COMPONENT_TYPE
component type.

See Also:
Constant Field Values

TYPE

public static final org.apache.myfaces.trinidad.bean.FacesBean.Type TYPE

ACCESSOR_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey ACCESSOR_KEY

MODE_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey MODE_KEY

READONLY_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey READONLY_KEY

TABLE_MODE_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey TABLE_MODE_KEY

AUTOSUBMIT_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey AUTOSUBMIT_KEY

FLATTEN_CHILDREN_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey FLATTEN_CHILDREN_KEY

CUSTOMIZATION_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey CUSTOMIZATION_KEY

VALUE_CHANGE_LISTENER_KEY

public static final org.apache.myfaces.trinidad.bean.PropertyKey VALUE_CHANGE_LISTENER_KEY
Constructor Detail

DescriptiveFlexfield

public DescriptiveFlexfield()
constructor.

Method Detail

getBeanType

protected org.apache.myfaces.trinidad.bean.FacesBean.Type getBeanType()
Overrides:
getBeanType in class DynamicForm

populateFactories

protected void populateFactories()
add factories

Overrides:
populateFactories in class DynamicForm

preCreateChildren

public void preCreateChildren()
Pre Render processing for DFF component.


getViewId

protected java.lang.String getViewId()
Overrides:
getViewId in class DynamicForm

setParent

public void setParent(javax.faces.component.UIComponent parentComp)
Sets the parent

Overrides:
setParent in class org.apache.myfaces.trinidad.component.UIXComponentBase
Parameters:
parentComp - component

createDynamicColumns

public void createDynamicColumns()
create column groups under the original column for DFF segments (when used in table).


getCurrentRow

protected oracle.jbo.Row getCurrentRow(oracle.jbo.uicli.binding.JUIteratorBinding iterator)
Overrides:
getCurrentRow in class DynamicForm

getAttributeDefinitions

protected oracle.jbo.AttributeDef[] getAttributeDefinitions(oracle.jbo.uicli.binding.JUIteratorBinding iterator)
Gets the set of attributes for current ro of given iterator.

Overrides:
getAttributeDefinitions in class DynamicForm
Parameters:
iterator - as JUIteratorBinding

getDefaultAttributeDefinitions

protected oracle.jbo.AttributeDef[] getDefaultAttributeDefinitions(oracle.jbo.uicli.binding.JUIteratorBinding iterator)
return default attribute defs is row is null

Parameters:
iterator -
Returns:

setBindingChanged

public void setBindingChanged(boolean bindingChanged)
overwrite super class

Overrides:
setBindingChanged in class DynamicForm
Parameters:
bindingChanged -

getCurrentDiscriminatorValue

public java.lang.String getCurrentDiscriminatorValue(oracle.jbo.Row row,
                                                     oracle.jbo.uicli.binding.JUIteratorBinding iterator)

skipCreateChildren

protected boolean skipCreateChildren(javax.faces.context.FacesContext context,
                                     oracle.jbo.uicli.binding.JUIteratorBinding iterator)
Checks whether Children creation need to be skipped for conext sensetive segments.

Parameters:
context - faces context
iterator - iterator binding
Returns:
if the create children logic should be skipped

createDynamicSwitcher

protected void createDynamicSwitcher(javax.faces.context.FacesContext context)
Creates dynamic switchers for rendering context sensitive fields. This is called during rendering of context sensitive DFF in detailstamp of table.

Parameters:
context - as Faces Context

createChildren

protected void createChildren(javax.faces.context.FacesContext context)
Create and populates Children under DFF.

Overrides:
createChildren in class DynamicForm
Parameters:
context - as FacesContext

createFlexFormComponent

protected org.apache.myfaces.trinidad.component.UIXComponent createFlexFormComponent(javax.faces.context.FacesContext context,
                                                                                     oracle.jbo.uicli.binding.JUIteratorBinding iterator,
                                                                                     oracle.jbo.LocaleContext localCtx,
                                                                                     oracle.jbo.AttributeDef def)
create a UI component for a given attribute def.

Parameters:
context - faces context
iterator - iterator binding
localCtx - locale context
def - the attribute def
Returns:
UI component with binding value created for this attribute

setSelfRefresh

public void setSelfRefresh(boolean value)

addRowSetListener

public void addRowSetListener(oracle.jbo.uicli.binding.JUIteratorBinding iterBinding)
Skip row set listener for table.

Overrides:
addRowSetListener in class DynamicForm

createFlexComponent

protected org.apache.myfaces.trinidad.component.UIXComponent createFlexComponent(javax.faces.context.FacesContext context,
                                                                                 oracle.jbo.uicli.binding.JUIteratorBinding iterator,
                                                                                 oracle.jbo.LocaleContext localCtx,
                                                                                 oracle.jbo.AttributeDef def)
create a UI component for a given attribute def.

Parameters:
context - faces context
iterator - iterator binding
localCtx - locale context
def - the attribute def
Returns:
UI component with binding value created for this attribute

createBinding

protected oracle.adf.model.binding.DCControlBinding createBinding(javax.faces.context.FacesContext context,
                                                                  oracle.jbo.uicli.binding.JUIteratorBinding iterator,
                                                                  oracle.jbo.LocaleContext localCtx,
                                                                  oracle.jbo.AttributeDef def)
Just created a binding on the iterator without the component

Parameters:
context - Faces Context
iterator - as JUIteratorBinding
localCtx - as LocaleContext
def - as AttributeDef
Returns:
DCControlBinding data control binding

postCreateComponent

protected void postCreateComponent(javax.faces.context.FacesContext context,
                                   oracle.jbo.uicli.binding.JUIteratorBinding iterator,
                                   oracle.jbo.LocaleContext localCtx,
                                   oracle.jbo.AttributeDef def,
                                   org.apache.myfaces.trinidad.component.UIXComponent component)
API called after an UI component is create, for autosumit/PPR.

Parameters:
context - faces context
iterator - iterator binding
localCtx - locale context
def - attribute def
component - UI component just created

getCategoryValue

protected java.lang.String getCategoryValue(oracle.jbo.AttributeDef aDef,
                                            oracle.jbo.LocaleContext localCtx)
Gets the category associated with given attribute.

Overrides:
getCategoryValue in class DynamicForm
Parameters:
aDef - as AttributeDef
localCtx - as LocaleContext
Returns:
category value as String

decodeComponent

public static void decodeComponent(javax.faces.context.FacesContext context,
                                   org.apache.myfaces.trinidad.component.UIXEditableValue component)
Decocde component and set the UI value back to component if the value is changed to avoid value getting lost during PPR

Parameters:
context -
component -

decode

public void decode(javax.faces.context.FacesContext context)
to add parent as partial target

Overrides:
decode in class org.apache.myfaces.trinidad.component.UIXComponentBase
Parameters:
context - as FacesContext

getClassName

protected java.lang.String getClassName()
Overrides:
getClassName in class DynamicForm

processFlattenedChildren

public <S> boolean processFlattenedChildren(javax.faces.context.FacesContext context,
                                            org.apache.myfaces.trinidad.component.ComponentProcessingContext cpContext,
                                            org.apache.myfaces.trinidad.component.ComponentProcessor<S> childProcessor,
                                            S callbackContext)
                                 throws java.io.IOException
Implementation for ProcessFlattenChildren API for DescriptiveFlexfield component.

Specified by:
processFlattenedChildren in interface org.apache.myfaces.trinidad.component.FlattenedComponent
Throws:
java.io.IOException

isFlatteningChildren

public boolean isFlatteningChildren(javax.faces.context.FacesContext context)
Checks whether this component need to flatten its children.

Specified by:
isFlatteningChildren in interface org.apache.myfaces.trinidad.component.FlattenedComponent
Parameters:
context - as FacesContext
Returns:
true if children need to be flatten

resolveCustomization

public java.util.List<javax.el.ValueExpression> resolveCustomization(java.lang.String cutomizationPath,
                                                                     java.lang.String property)
Description copied from interface: CustomizationResolver
given a customization path and property, figuer out the customizations

Specified by:
resolveCustomization in interface CustomizationResolver
Returns:
a list of expressions to be used in GroupExpression

calculateCustomizationPath

public java.lang.String calculateCustomizationPath(oracle.jbo.AttributeDef def)
generate the path for a def: global segment: _Global_.attrName global display segment: _Global_.GlobalAttributeName context segemnet: contextvalue.attrName context sensitive segment : contextvalue.attrName context sensitive display segment : contextvalue.SegmentAttributeName

Specified by:
calculateCustomizationPath in interface CustomizationResolver
Parameters:
def -
Returns:

getSegmentCutomizationString

protected java.lang.String getSegmentCutomizationString(java.lang.String currentDiscriminatorValue,
                                                        oracle.jbo.AttributeDef def)

updateFlexColumns

public static void updateFlexColumns(oracle.adf.view.rich.component.rich.data.RichTable table)
Refreshes the structure of DFF/KFFPartial/KFFMaintenance when used in a column mode of an Applications Table

Parameters:
table - ApplicationsTable which has Dff/KFFPartial/KFFMaintenance in column mode

getAccessor

public java.lang.String getAccessor()
Gets the accessor name.

Returns:
Accessor name as String

setAccessor

public void setAccessor(java.lang.String accessorName)
Sets the accessor name.

Parameters:
accessorName - accessor name

getMode

public java.lang.String getMode()
Gets the DFF mode attribute.

Returns:
mode as Mode for DFF

setMode

public void setMode(java.lang.String mode)
Sets the mode for DFF.

Parameters:
mode - as String

getTableMode

public java.lang.String getTableMode()
Checks whether table mode is set.

Returns:
table mode as String

setTableMode

public void setTableMode(java.lang.String mode)
Sets the value for tableMode

Parameters:
mode - as Table Mode

getCustomization

public FlexfieldCustomization getCustomization()
Gets the Flexfield Customization.

Specified by:
getCustomization in interface CustomizationResolver
Returns:
FlexfieldCustomization

getValueChangeListener

public javax.el.MethodExpression getValueChangeListener()
Gets the ValueChangeListener associated with DFF.

Returns:
MethodExpression

getAutoSubmit

public javax.el.ValueExpression getAutoSubmit()
ValueExpression for autoSubmit attribute of DFF.

Returns:
ValueExpression

getVisible

public javax.el.ValueExpression getVisible()
ValueExpression for visible attribute of DFF.

Returns:
ValueExpression

getReadOnly

public javax.el.ValueExpression getReadOnly()
ValueExpression for readOnly attribute of DFF.

Returns:
ValueExpression

isReadOnly

public boolean isReadOnly()
Gets the actual boolean value for readOnly when set as literal.

Returns:
readOnly boolean value

Oracle Fusion Middleware extensions for Applications Core API Reference
11g Release 1 (11.1.1.6)

E22562-03

Copyright © 2012 Oracle. All Rights Reserved.