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

E17503-02

oracle.jbo.server
Class ViewRowImpl

java.lang.Object
  extended by oracle.jbo.server.RowImpl
      extended by oracle.jbo.server.ViewRowImpl
All Implemented Interfaces:
AttributeList, JIReservedVarNames, ExprValueSupplier, JboReservedVarNames, Row

public class ViewRowImpl
extends RowImpl


Field Summary
static java.lang.Class CLASS_INSTANCE
           
 
Fields inherited from interface oracle.jbo.Row
EFFDT_DELETE_FUTURE_CHANGE_MODE, EFFDT_DELETE_MODE, EFFDT_DELETE_NEXT_CHANGE_MODE, EFFDT_DELETE_ZAP_MODE, EFFDT_EXPERT_MODE, EFFDT_NONE_MODE, EFFDT_UPDATE_CHANGE_INSERT_MODE, EFFDT_UPDATE_CORRECTION, EFFDT_UPDATE_MODE, EFFDT_UPDATE_OVERRIDE_MODE, REFRESH_CONTAINEES, REFRESH_FORGET_NEW_ROWS, REFRESH_REMOVE_NEW_ROWS, REFRESH_UNDO_CHANGES, REFRESH_WITH_DB_FORGET_CHANGES, REFRESH_WITH_DB_ONLY_IF_UNCHANGED, STATUS_INITIALIZED
 
Fields inherited from interface oracle.jbo.JboReservedVarNames
RESERVED_VAR_AGG_AVG, RESERVED_VAR_AGG_COUNT, RESERVED_VAR_AGG_MAX, RESERVED_VAR_AGG_MIN, RESERVED_VAR_AGG_SUM, RESERVED_VAR_AGGVAL_PREFIX, RESERVED_VAR_STRUCTURE_DEF
 
Fields inherited from interface oracle.jbo.expr.JIReservedVarNames
RESERVED_VAR_VALUE
 
Constructor Summary
ViewRowImpl()
           
 
Method Summary
protected  void addEntityUsage(java.lang.String usageName, EntityImpl entity)
          Add an entity usage to this view row.
protected  void checkForOuterJoins()
          Check the Entities in this View Row for Outer Joins.
protected  void clearAttributeException(int index)
          Cleans any exception of an attribute of the given name was set earlier and threw an exception which was cached as the transaction is in deferred mode.
protected  void copyFrom(ViewRowImpl other)
          For subclasses to implement copy of transient members in the subclass This method is invoked when a new row is created with attributes copied from the other row for move into a new collection in makeRowCopy.
protected  void create(AttributeList nvp)
          Initialization method to be over-ridden in generated code for custom defaulting.
protected  ListBinding createListBinding(ListBindingDef lbDef, RowSetIterator rsi)
          Internal: Applications should not use this method.
protected  EntityImpl[] createMissingEntitiesFromViewDef(ViewDefImpl viewDef, int[] eoIndices, EntityImpl[] entities, ResultSet resultSet, AttributeList initValues, boolean isNewRow, ApplicationModule viewAccessorAM)
           
protected  RowSet createViewAccessorRS(java.lang.String vaName)
          Internal: Applications should not use this method.
protected  RowSet createViewAccessorRS(ViewAccessorDef va)
          Internal: Applications should not use this method.
 void entityCacheAdd()
          Populate the caches from the values of the rows.
 AttributeDef findAttributeDef(java.lang.String attrName)
           
protected  java.lang.String findListBindingName(java.lang.String attrName, java.lang.String lbName)
           
protected  RowSetIterator findListBindingRSI(java.lang.String attrName, java.lang.String lbName)
          Internal: Applications should not use this method.
protected  ViewObject findOrCreateLocalViewObject(ViewAccessorDef vaDef)
          Find or create the local view instance from the local view usage name.
protected  RowSet findOrCreateViewAccessorRS(ViewAccessorDef va)
          Internal: Applications should not use this method.
 ViewAccessorDef findViewAccessorDef(java.lang.String name)
          This method returns ViewAccessorDef with the specified name.
 ApplicationModule getApplicationModule()
          Gets the Application Module to which the containing View Object belongs.
protected  ApplicationModule getApplicationModuleForViewAccessor()
          Internal: Applications should not use this method.
 java.lang.Object getAttribute(int ix)
          Get an attribute value by index
 java.lang.Object getAttribute(java.lang.String name)
          Gets the value of an attribute by name.
 int getAttributeCount()
          Gets the attribute count in this ViewRow.
 int getAttributeIndexOf(java.lang.String attrName)
          Gets the index of the attribute, given it's name.
protected  java.lang.Object getAttributeInternal(int index)
          Gets the value of the attribute by index.
 java.lang.String[] getAttributeNames()
          Gets a list of the names of all attributes
 java.lang.Object[] getAttributeValues()
          Gets a list of the values of all attributes
protected  java.lang.Object getAttrInvokeAccessor(int ix, AttributeDefImpl attrRef)
           
 EntityImpl[] getEntities()
          Gets an array of Entity objects.
 EntityImpl getEntity(int index)
          Gets the Entity at the given index.
 int getEntityCount()
          Counts the number of Entity Objects in this row.
protected  EntityImpl getEntityForListBinding(java.lang.String eoName)
          Method to retrieve the entity for locating entity level view accessor to be used in list binding.
protected  EntityImpl[] getEntityUsages()
           
 java.lang.Object getHandle()
          Creates a row identifier that is unique in the query collection.
 Key getKey()
          Returns the identifier object for this row.
protected  RowSetIterator getListBindingRSI(ListBindingDef def)
          Internal: Applications should not use this method.
protected  List getListBindings()
          Internal: Applications should not use this method.
 RowSet getRowSet()
          Internal: Applications should not use this method.
 StructureDef getStructureDef()
          Returns the structure of the row.
 ViewDefImpl getViewDef()
          Get the ViewDefImpl associated with this View Row.
 ViewObject getViewObject()
          Gets the View Object to which this row belongs.
protected  void handleListBindingMismatch(ListBinding lb, Map valuesMap, RowIterator listRSI)
           
protected  boolean hasListBindings()
           
protected  void initDefaults()
           
 boolean isAttributeUpdateable(int index)
          Tests if an attribute is updateable.
 boolean isDead()
          Tests this row to determine if it is dead
 boolean isTransientTransactionListener()
           
protected  boolean isViewAccessorAttribute(int indexAttribute)
          Check if an attribute is the attribute to store view accessor RowSetIterator.
 AttributeDef lookupAttributeDef(java.lang.String attrName)
           
protected  void populate(ResultSet resultSet)
          Internal: Applications should not use this method.
protected  void populateAttribute(int index, java.lang.Object value)
          The difference between this and setAttribute is that this does not check if the attribute is read-only, nor does it update the dirty bit.
protected  void populateAttribute(java.lang.String name, java.lang.Object value)
           
protected  void populateAttributeAsChanged(int index, java.lang.Object value)
          Internal Applications should not use this method.
 void refresh(int refreshMode)
          Refreshes the row's attributes with values from database.
protected  void registerAttributeException(AttributeDef attrDef, java.lang.Object val, JboException dce)
           
 void remove()
          Deletes the row.
protected  void removeAllEntityUsages()
           
 void removeAndRetain()
          Removes the row from the collection and then retain it for insertion into another location.
 void removeFromCollection()
          Removes the row from the collection.
 void revert()
          Reverts this row back to its initial state
 void setAttribute(int index, java.lang.Object val)
          Sets an attribute.
 void setAttribute(java.lang.String name, java.lang.Object value)
          Sets the value of an attribute by name.
protected  void setAttributeInternal(int index, java.lang.Object val)
          This is an "inner" accessor for an attribute and does not call out to the getXXX() method.
 void setAttributeValues(List names, List values)
          Set attribute values for the given list of attributes names.
protected  void setAttrInvokeAccessor(int index, java.lang.Object val, AttributeDefImpl attrRef)
           
protected  void setEffectiveDateOnEntities()
          Sets the Effective Date on the underlying entity rows.
protected  void setEntities(EntityImpl[] rows)
          Sets the entities that this view row is composed of.
 void setNewRowState(byte state)
          Sets a new unposted row, created in this transaction, to either STATUS_NEW or STATUS_INITIALIZED mode.
 void setTransientAttributeValue(ViewAttributeDefImpl vad, java.lang.Object val)
           
protected  boolean shouldAddViewAccessorRSToRow()
          Internal: Applications should not use this method.
 boolean throwOnListBindingMismatch()
           
 void validate()
          Validates the row
 
Methods inherited from class oracle.jbo.server.RowImpl
addListBindingsForAttribute, clearAttributeException, doSetAttribute, doSetAttribute, findAttrAndGetIndex, getAllExceptions, getAttributeNameOf, getChangedAttributeDefImpls, getCombinedAttrNames, getEffectiveDate, getEffectiveDateMode, getExprVarVal, getInsertAttributeDefImpls, getStateAsString, init, isDirty, isRefreshRequired, isRefreshRequired, isRefreshRequired, lock, markViewAccessorsDirty, refreshViewAccessor, refreshViewAccessor, refreshViewAccessor, reserve, setEffectiveDateMode, setExprVarVal, setInMultiSetter
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_INSTANCE

public static final java.lang.Class CLASS_INSTANCE
Constructor Detail

ViewRowImpl

public ViewRowImpl()
Method Detail

addEntityUsage

protected void addEntityUsage(java.lang.String usageName,
                              EntityImpl entity)
Add an entity usage to this view row.

Parameters:
entity -

getEntityUsages

protected EntityImpl[] getEntityUsages()

removeAllEntityUsages

protected void removeAllEntityUsages()

getAttributeCount

public final int getAttributeCount()
Gets the attribute count in this ViewRow.

Specified by:
getAttributeCount in interface AttributeList
Overrides:
getAttributeCount in class RowImpl
Returns:
the number of attributes.

getKey

public Key getKey()
Returns the identifier object for this row.

Specified by:
getKey in interface Row
Specified by:
getKey in class RowImpl
Returns:
the key of the row.

getStructureDef

public StructureDef getStructureDef()
Description copied from class: RowImpl
Returns the structure of the row.

Specified by:
getStructureDef in interface Row
Specified by:
getStructureDef in class RowImpl
Returns:
StructureDef that describes the structure of the row.

isAttributeUpdateable

public boolean isAttributeUpdateable(int index)
Description copied from class: RowImpl
Tests if an attribute is updateable.

Specified by:
isAttributeUpdateable in interface Row
Specified by:
isAttributeUpdateable in class RowImpl
Parameters:
index - the index of the attribute.
Returns:
false if the attribute is read-only and true if it is updateable.

getAttribute

public java.lang.Object getAttribute(int ix)
Description copied from class: RowImpl
Get an attribute value by index

Specified by:
getAttribute in interface AttributeList
Overrides:
getAttribute in class RowImpl
Parameters:
ix - an integer in the range 0 to getAttributeCount() - 1.
Returns:
Attribute value, if index is valid, or null if it is not

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Gets the value of an attribute by name.

Specified by:
getAttribute in interface AttributeList
Overrides:
getAttribute in class RowImpl
Parameters:
name - the name of the attribute.
Returns:
the value of the attribute.

setAttribute

public void setAttribute(int index,
                         java.lang.Object val)
Sets an attribute.

This method performs a type-check on the value, so that it matches the Java type of the attribute.

Specified by:
setAttribute in interface AttributeList
Overrides:
setAttribute in class RowImpl
Parameters:
index - the index of the attribute.
val - the new value.
Throws:
ReadOnlyAttrException - if the attribute is not updateable.
InvalidOperException - if this row belongs is to a forward-only View Object.
DataCreationException - if the given value is not convertible to the Java type of the attribute.
AttrSetValException - if any validation logic fails while setting this attribute to the mapped Entity Object attribute.

registerAttributeException

protected void registerAttributeException(AttributeDef attrDef,
                                          java.lang.Object val,
                                          JboException dce)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Sets the value of an attribute by name.

Specified by:
setAttribute in interface AttributeList
Overrides:
setAttribute in class RowImpl
Parameters:
name - the name of the attribute.
value - the value of the attribute.

populateAttribute

protected void populateAttribute(int index,
                                 java.lang.Object value)
The difference between this and setAttribute is that this does not check if the attribute is read-only, nor does it update the dirty bit. This is really only intended for use internally.

Specified by:
populateAttribute in class RowImpl
Parameters:
index -
value -

populateAttribute

protected void populateAttribute(java.lang.String name,
                                 java.lang.Object value)

isDead

public boolean isDead()
Description copied from class: RowImpl
Tests this row to determine if it is dead

Specified by:
isDead in interface Row
Specified by:
isDead in class RowImpl
Returns:
true if row is dead, false otherwise.

refresh

public void refresh(int refreshMode)
Description copied from class: RowImpl
Refreshes the row's attributes with values from database. refreshMode should be a combination of REFRESH_.... See REFRESH_... constants for further information.

Specified by:
refresh in interface Row
Specified by:
refresh in class RowImpl
Parameters:
refreshMode - the refresh mode.

remove

public void remove()
Deletes the row. This method will invoke remove on the updateable Entity Rows that are referenced by this View Object Row. After the referenced, updateable entity rows have been removed this method will remove the View Object Row from the View Object's RowSet.

Specified by:
remove in interface Row
Specified by:
remove in class RowImpl

removeAndRetain

public void removeAndRetain()
Description copied from class: RowImpl
Removes the row from the collection and then retain it for insertion into another location.

This method differs from RowImpl.remove() in that it just removes the row from the collection. It does not remove the underlying Entity row(s) or database row(s).

This method also differs from RowImpl.removeFromCollection() in that after the row is removed from the collection, it can be inserted back into the collection at another location.

Specified by:
removeAndRetain in interface Row
Specified by:
removeAndRetain in class RowImpl

removeFromCollection

public void removeFromCollection()
Description copied from class: RowImpl
Removes the row from the collection.

This method differs from RowImpl.remove() in that it just removes the row from the collection. It does not remove the underlying Entity row(s) or database row(s). However, once the row is removed, it cannot be used any more. If you want to remove the row from the collection and insert it elsewhere, call RowImpl.removeAndRetain().

Specified by:
removeFromCollection in interface Row
Specified by:
removeFromCollection in class RowImpl

validate

public void validate()
Description copied from class: RowImpl
Validates the row

Specified by:
validate in interface Row
Specified by:
validate in class RowImpl
See Also:
EntityImpl.validate(), validate()

lookupAttributeDef

public AttributeDef lookupAttributeDef(java.lang.String attrName)

findAttributeDef

public AttributeDef findAttributeDef(java.lang.String attrName)

getAttributeIndexOf

public int getAttributeIndexOf(java.lang.String attrName)
Gets the index of the attribute, given it's name.

Specified by:
getAttributeIndexOf in interface AttributeList
Overrides:
getAttributeIndexOf in class RowImpl
Parameters:
attrName - the alias of the attribute.
Returns:
the attribute's index.

getViewDef

public final ViewDefImpl getViewDef()
Get the ViewDefImpl associated with this View Row.

Returns:
the ViewDefImpl

setAttributeValues

public void setAttributeValues(List names,
                               List values)
Description copied from interface: Row
Set attribute values for the given list of attributes names. This implementation may invoke setAttribute(name, value) for each name, value pair. List size for names and values list should match up. If there are more names than values, then the names with no corresponding value entry in the values list will be ignored.


getAttributeInternal

protected java.lang.Object getAttributeInternal(int index)
Gets the value of the attribute by index. If the attribute is mapped to an entity-attribute, invoke that entity.getAttribute() with the mapped index. For all other attributes, return the value from the ViewRow's storage.

Note that this is an "inner" accessor for an attribute and does not callout to the generated getXXX() method on a subclass of a ViewRowImpl. getAttribute() methods are the "outer" methods that callout to a subclass's getXXX() method where XXX is the name of the attribute.

Specified by:
getAttributeInternal in class RowImpl
Parameters:
index - the index of the attribute.
Returns:
the value of the column at the index.

getAttributeValues

public java.lang.Object[] getAttributeValues()
Description copied from class: RowImpl
Gets a list of the values of all attributes

Specified by:
getAttributeValues in interface AttributeList
Overrides:
getAttributeValues in class RowImpl
Returns:
An array containing all attribute values. Returns a 0-length array if there are none. Note that the array elements are ordered by attribute index

getViewObject

public final ViewObject getViewObject()
Gets the View Object to which this row belongs.

Returns:
the View Object.

getEntities

public EntityImpl[] getEntities()
Gets an array of Entity objects.

This method makes a copy of the internal list of Entity rows and returns that copy to the caller.

Returns:
a copy of the list of Entity rows.

getAttributeNames

public java.lang.String[] getAttributeNames()
Description copied from class: RowImpl
Gets a list of the names of all attributes

Specified by:
getAttributeNames in interface AttributeList
Overrides:
getAttributeNames in class RowImpl
Returns:
An array containing all attribute names. Returns a 0-length array if there are none. Note that the array elements are ordered by attribute index

createMissingEntitiesFromViewDef

protected EntityImpl[] createMissingEntitiesFromViewDef(ViewDefImpl viewDef,
                                                        int[] eoIndices,
                                                        EntityImpl[] entities,
                                                        ResultSet resultSet,
                                                        AttributeList initValues,
                                                        boolean isNewRow,
                                                        ApplicationModule viewAccessorAM)

getEntity

public final EntityImpl getEntity(int index)
Gets the Entity at the given index. Used in generated code for viewrow to get to the attribute mapped to an entity.

Parameters:
index - the index of the Entity.

revert

public void revert()
Reverts this row back to its initial state


getHandle

public java.lang.Object getHandle()
Creates a row identifier that is unique in the query collection.

Each row in a collection can be identified by either its Java object reference or by its row handle. The row handle, together with the collection name, forms an identifier that can be stored externally, in order to identify the row in future operations.

Applications should not rely on indentifier having a specific format: it is subject to change.

A row handle can be converted to a string using toString() methods, and compared using equals

Returns:
a unique row identifier.

isTransientTransactionListener

public boolean isTransientTransactionListener()

getEntityCount

public int getEntityCount()
Counts the number of Entity Objects in this row.

Returns:
the number of Entity Objects in the row.

populateAttributeAsChanged

protected void populateAttributeAsChanged(int index,
                                          java.lang.Object value)
Internal Applications should not use this method.

Populate this attribute with the given attribute and mark the attribute as changed. This is a Framework-internal method that loads attribute values into entities that comprise this ViewRow.


initDefaults

protected void initDefaults()

checkForOuterJoins

protected void checkForOuterJoins()
Check the Entities in this View Row for Outer Joins. If an Entity reference with a null key is found in an Outer Join make sure it is not added to the Entity Cache so that validation does not fail and the Entity is not included during posting the changes to the database.


create

protected void create(AttributeList nvp)
Initialization method to be over-ridden in generated code for custom defaulting.

This method invokes create(AttributeList) on each of the "new" entities that make up this View Row.

The attribute list nvp is simply passed to the new entity rows that make up this View Row.

Note: the names in the attribute list are not transformed into entity-relative names hoping that the caller has done so already. If not, the entity's create() method might fail.

Parameters:
nvp - the list of attributtes.

setEffectiveDateOnEntities

protected void setEffectiveDateOnEntities()
Sets the Effective Date on the underlying entity rows. The entity will use this effective date while doing its DML. If more than one view row changes the same entity, the effective date from the last view row wins.


copyFrom

protected void copyFrom(ViewRowImpl other)
For subclasses to implement copy of transient members in the subclass This method is invoked when a new row is created with attributes copied from the other row for move into a new collection in makeRowCopy.

Parameters:
other -

throwOnListBindingMismatch

public boolean throwOnListBindingMismatch()

populate

protected void populate(ResultSet resultSet)
Internal: Applications should not use this method.

Populate this row from the ResultSet.

This is a Framework-internal method. This method is used to fill in entity-attributes from a JDBC ResultSet that is returned by executeQuery().

Note that the method works on the current row of the result set and any currecy change on the ResultSet could throw it off. This method is protected to let sub-ViewRows fill in custom-entities created based on data.

For example, if fax is a subtype of doc and based on a column value, either doc is created or a fax is created for a given entity type, this method may be used to create entities based on the data values. Note that the developer needs to know exact position of values in the JDBC ResultSet.

Parameters:
resultSet - the JDBC ResultSet containing the row data.

entityCacheAdd

public void entityCacheAdd()
Populate the caches from the values of the rows.


setEntities

protected void setEntities(EntityImpl[] rows)
Sets the entities that this view row is composed of.

This method is called by framework, after entites are created for this row. This must be protected because subclasses can create their own entity instances and have the viewrow manage them.

For example, assume there is a ViewRow on the Doc Entity where Doc has subclasses PO and Req, the ViewRow subclass can create PO/Req instances of entities based on some logic and have ViewRow manage them as an entity of type Doc.


getAttrInvokeAccessor

protected java.lang.Object getAttrInvokeAccessor(int ix,
                                                 AttributeDefImpl attrRef)
                                          throws java.lang.Exception
Throws:
java.lang.Exception

createViewAccessorRS

protected RowSet createViewAccessorRS(java.lang.String vaName)
Internal: Applications should not use this method.


createViewAccessorRS

protected RowSet createViewAccessorRS(ViewAccessorDef va)
Internal: Applications should not use this method.


shouldAddViewAccessorRSToRow

protected boolean shouldAddViewAccessorRSToRow()
Internal: Applications should not use this method.


getRowSet

public final RowSet getRowSet()
Internal: Applications should not use this method.


findViewAccessorDef

public ViewAccessorDef findViewAccessorDef(java.lang.String name)
This method returns ViewAccessorDef with the specified name.

Overrides:
findViewAccessorDef in class RowImpl
Parameters:
name - The name of the ViewAccessorDef.
Returns:
The ViewAccessorDef

getListBindings

protected List getListBindings()
Internal: Applications should not use this method.

Specified by:
getListBindings in class RowImpl

createListBinding

protected ListBinding createListBinding(ListBindingDef lbDef,
                                        RowSetIterator rsi)
Internal: Applications should not use this method.

Parameters:
lbDef - The definition object
rsi - The Rowset that is created from the Accessor Definiton specified in List binding definition
Returns:
the list binding instance associated with this row

findListBindingName

protected java.lang.String findListBindingName(java.lang.String attrName,
                                               java.lang.String lbName)

findListBindingRSI

protected RowSetIterator findListBindingRSI(java.lang.String attrName,
                                            java.lang.String lbName)
Internal: Applications should not use this method.


getEntityForListBinding

protected EntityImpl getEntityForListBinding(java.lang.String eoName)
Method to retrieve the entity for locating entity level view accessor to be used in list binding. This method is overriden by the subclass DCDataRow which returns different value from this method than from getEntity(String)

Parameters:
eoName - name of the entity to be returned
Returns:
the Entity for locating entity level view accessor

getListBindingRSI

protected RowSetIterator getListBindingRSI(ListBindingDef def)
Internal: Applications should not use this method.

Specified by:
getListBindingRSI in class RowImpl

getApplicationModuleForViewAccessor

protected ApplicationModule getApplicationModuleForViewAccessor()
Internal: Applications should not use this method.


getApplicationModule

public final ApplicationModule getApplicationModule()
Gets the Application Module to which the containing View Object belongs.

Returns:
an Application Module.

findOrCreateLocalViewObject

protected ViewObject findOrCreateLocalViewObject(ViewAccessorDef vaDef)
Find or create the local view instance from the local view usage name.

Parameters:
vaDef - The ViewAccessorDef.
Returns:
The local view object.

clearAttributeException

protected void clearAttributeException(int index)
Cleans any exception of an attribute of the given name was set earlier and threw an exception which was cached as the transaction is in deferred mode. If the attribte is entity derived clear the attribute exception at entity level.

Overrides:
clearAttributeException in class RowImpl

setAttrInvokeAccessor

protected void setAttrInvokeAccessor(int index,
                                     java.lang.Object val,
                                     AttributeDefImpl attrRef)
                              throws java.lang.Exception
Throws:
java.lang.Exception

setAttributeInternal

protected void setAttributeInternal(int index,
                                    java.lang.Object val)
This is an "inner" accessor for an attribute and does not call out to the getXXX() method. This method sets the value to the mapping entity attribute or stores the value in ViewRow cache for the given attribute.

This method also does not perform any type-check for the value's java type and assumes that the value-type is same as the java-type for this attribute.

Parameters:
index - The index of the attribute.
val - The value.
Throws:
ReadOnlyAttrException - if the attribute is not updateable.
AttrSetValException - if any validation logic fails while setting this attribute to the mapped Entity attribute.

isViewAccessorAttribute

protected boolean isViewAccessorAttribute(int indexAttribute)
Check if an attribute is the attribute to store view accessor RowSetIterator.

Parameters:
indexAttribute - The index of the attribute.
Returns:
true if the attribute stores view accessor RowSetIterator, orelse return false.

setTransientAttributeValue

public void setTransientAttributeValue(ViewAttributeDefImpl vad,
                                       java.lang.Object val)

handleListBindingMismatch

protected void handleListBindingMismatch(ListBinding lb,
                                         Map valuesMap,
                                         RowIterator listRSI)
Specified by:
handleListBindingMismatch in class RowImpl

hasListBindings

protected final boolean hasListBindings()
Specified by:
hasListBindings in class RowImpl

setNewRowState

public void setNewRowState(byte state)
Description copied from interface: Row
Sets a new unposted row, created in this transaction, to either STATUS_NEW or STATUS_INITIALIZED mode. Calling this method on a row in any other state will be a no-op.

This method should be used to create a row and then to mark it temporary (STATUS_INITIALIZED) so that an app can use the created Row to fill UIs like Table UIs with valid default values for rows. Then when the Row values are updated, UIs should once again call this method to turn the Row into new (STATUS_NEW) state before any setAttribute calls on the Row, so that the changes are validated and posted.

When a created row is in STATUS_NEW (by default) state and this method is called to turn the row in to STATUS_INITIALIZED, all updateable entities that this row comprises of, de=registers themselves from their respective transaction and validation managers. Assocation and ViewLink finders will not find/include these rows. Only the collection into which this row was inserted into will contain a reference to this row and when that collection is re-executed this row cannot be reached via the framework. To include this row again an app should call this method again with STATUS_NEW as the method-argument

When this row is in STATUS_INITIALIZED state and this method is called with STATUS_NEW state then, this new row is added back into it's relevant transaction and validation manager and will then participate in validation, transaction cycles.

Note that incase of composition if a master/detail hierarchy is being created with the intention of making them temporary (STATUS_INITIALIZED) then the logic should be: Create Master row, insert Master row into a collection, create Detail row insert detail row into a relevant collection, make detail row initialized, create/insert/change-to-initialized more detail rows and at the end set the master row as initialized.

Parameters:
state - This could be STATUS_NEW or STATUS_INITIALIZED.

findOrCreateViewAccessorRS

protected RowSet findOrCreateViewAccessorRS(ViewAccessorDef va)
Internal: Applications should not use this method.


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

E17503-02

Copyright © 2011, Oracle and/or its affiliates. All rights reserved.