public class RowImpl extends java.lang.Object implements Row, DomainOwnerInterface
AttributeDefEFFDT_DELETE_FUTURE_CHANGE_MODE, EFFDT_DELETE_MODE, EFFDT_DELETE_NEXT_CHANGE_MODE, EFFDT_DELETE_THIS_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_NEW_EARLIEST_CHANGE_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, STATUS_NEWXML_IGNORE_DEPTH_COUNT, XML_OPT_ALL_ROWS, XML_OPT_ASSOC_CONSISTENT, XML_OPT_CHANGES_ONLY, XML_OPT_LIMIT_RANGE, XML_PASSIVATION_USE| Constructor and Description | 
|---|
| RowImpl() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | domainToBeModified(DomainInterface domain)Notification method that this domain calls whenever any of its
 attribute values are about
 to be modified. | 
| ApplicationModule | getApplicationModule() | 
| ApplicationModuleImpl | getApplicationModuleImpl() | 
| protected ApplicationModuleImpl | getApplicationModuleProxy() | 
| java.lang.Object | getAttribute(int index)Returns the data for the attribute at the given index. | 
| java.lang.Object | getAttribute(java.lang.String name)Returns the data for the attribute with the given name. | 
| int | getAttributeCount()Get the attribute count | 
| AttributeHints | getAttributeHints(int attrIndex)Returns the AttributeHints object for the specified attribute for the row. | 
| AttributeHints | getAttributeHints(java.lang.String attrName)Returns the AttributeHints object for the specified attribute for the row. | 
| int | getAttributeIndexOf(java.lang.String name)Get the index for an attribute given the name | 
| java.lang.String[] | getAttributeNames()Returns an array of attribute names in this list. | 
| SecurityHints | getAttributeSecurityHints(int attrIndex)Returns the SecurityHints object for the specified attribute for the row. | 
| SecurityHints | getAttributeSecurityHints(java.lang.String attrName)Returns the SecurityHints object for the specified attribute for the row. | 
| java.lang.Object[] | getAttributeValues()Returns an array of attribute values in this list. | 
| int | getEffectiveDateMode()Get the current effective date mode. | 
| protected int | getHandleAsInt() | 
| Key | getKey()Returns the key of the row. | 
| protected ObjectMarshaller | getObjectMarshaller() | 
| protected byte[] | getPiggyback() | 
| RowSet | getRowSet() | 
| RowSetIterator | getRowSetIterator() | 
| protected int | getRSIId() | 
| SecurityHints | getSecurityHints()Returns the SecurityHints object for the row. | 
| protected ServiceMessage | getServiceMessage() | 
| StructureDef | getStructureDef()Returns the structure of the row. | 
| protected ViewUsageImpl | getViewObjectImpl() | 
| protected void | initialize(int st,
          java.lang.Object[] rowData,
          oracle.jbo.client.remote.RowSetIteratorImpl rowSetIterator,
          java.lang.Object handle,
          byte newRowState,
          int numUnmarshalledAttrs,
          int viewDefId) | 
| boolean | isAttributeUpdateable(int index)Tests if an attribute is updateable. | 
| boolean | isDead()An attempt to access a dead view row will lead to a DeadViewRowAccessException. | 
| void | lock()Locks the row(s) in the database table. | 
| protected void | processPiggyback(byte[] pb) | 
| protected java.util.ArrayList | processServiceMessage(ServiceMessage svcMsg) | 
| void | readXML(Element elem,
       int depthCount) | 
| void | readXML(Element elem,
       int depthCount,
       XSLStylesheet xslt) | 
| void | refresh(int refreshMode)Refreshes the row's attributes with values from database. | 
| void | remove()Removes the row from the database table. | 
| 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()Revert the row to the Database state. | 
| void | setAttribute(int index,
            java.lang.Object value)Set the value for an attribute at a given index. | 
| void | setAttribute(java.lang.String name,
            java.lang.Object value)Set the value for an attribute with a given name. | 
| void | setAttributeValues(java.util.List names,
                  java.util.List values)Set attribute values for the given list of attributes names. | 
| void | setEffectiveDateMode(int mode)Set the Effective Date mode in which the row updates
 need to be carried out. | 
| void | setNewRowState(byte state)Sets a new unposted row, created in this transaction, to either STATUS_NEW or 
 STATUS_INITIALIZED mode. | 
| void | validate()Invoke validate method for the validators attached to this Row | 
| Node | writeXML(int depthCount,
        long options)Renders data in a canonical XML-format. | 
| Node | writeXML(int depthCount,
        long options,
        XSLStylesheet xslt) | 
| Node | writeXML(long options,
        java.util.HashMap voAttrMap)Renders data in a canonical XML-format. | 
| Node | writeXML(long options,
        java.util.HashMap voAttrMap,
        XSLStylesheet xslt) | 
protected void initialize(int st,
              java.lang.Object[] rowData,
              oracle.jbo.client.remote.RowSetIteratorImpl rowSetIterator,
              java.lang.Object handle,
              byte newRowState,
              int numUnmarshalledAttrs,
              int viewDefId)
public java.lang.Object getAttribute(int index)
getAttribute in interface AttributeListindex - attribute indexpublic final java.lang.Object getAttribute(java.lang.String name)
getAttribute in interface AttributeListname - attribute namepublic boolean isAttributeUpdateable(int index)
Rowfalse if the attribute is read-only and true
 if it is updateable.
 The following logic is used for determining if the attribute is updateable. If this attribute for a View row and is one which is mapped to an Entity Attribute, and if the Entity base is marked as read-only in the View Object, the attribute is read-only.
If the Entity base is marked updateable, a check is made to see if the the current user has updateable privilege on the underlying Entity row. If not, the attribute is read-only.
 After this, we check the View Object's Attribute Definition.
 If the Attribute Definition indicates that it is READONLY, this
 method returns false (read-only).  If the Attribute
 Definition says UPDATEABLE, it drops to the Entity level
 to determine if the Entity level Attribute Definition says it is
 updateable.  If the attribute is UPDATEABLE_WHILE_NEW
 We check to see if the 'row' is new or not.  (If this attribute comes
 from an Entity Row, the 'row' is the Entity Row.  Otherwise, the 'row'
 is the View Row.)  If the row is new, the attribute is updateable.
 
isAttributeUpdateable in interface Rowindex - the index of the attribute.true if the attribute is updateable in this row.
         false if not.public boolean isDead()
Rowpublic StructureDef getStructureDef()
RowgetStructureDef in interface Rowprotected ViewUsageImpl getViewObjectImpl()
public void setAttributeValues(java.util.List names,
                      java.util.List values)
setAttributeValues in interface Rowpublic void setAttribute(int index,
                java.lang.Object value)
setAttribute in interface AttributeListindex - The attribute index.value - The value.public final void setAttribute(java.lang.String name,
                java.lang.Object value)
setAttribute in interface AttributeListname - The attribute name.value - The value.public AttributeHints getAttributeHints(java.lang.String attrName)
RowgetAttributeHints in interface RowattrName - the name of the attribute.public AttributeHints getAttributeHints(int attrIndex)
RowgetAttributeHints in interface RowattrIndex - the index of the attribute.public int getAttributeCount()
getAttributeCount in interface AttributeListpublic int getAttributeIndexOf(java.lang.String name)
getAttributeIndexOf in interface AttributeListname - The attribute namepublic java.lang.String[] getAttributeNames()
AttributeListgetAttributeNames in interface AttributeListpublic java.lang.Object[] getAttributeValues()
AttributeListgetAttributeValues in interface AttributeListpublic ApplicationModule getApplicationModule()
public ApplicationModuleImpl getApplicationModuleImpl()
public Key getKey()
public void validate()
validate in interface RowEntityImpl.validate(), 
ViewRowImpl.validate()public void revert()
public void refresh(int refreshMode)
RowrefreshMode should be a combination of REFRESH_....
 See REFRESH_... constants for further information.
 public void domainToBeModified(DomainInterface domain)
DomainOwnerInterfacedomainToBeModified in interface DomainOwnerInterfacedomain - the domain being modified.public void lock()
lock in interface RowRow.lock()public void remove()
remove in interface RowRow.remove()public void removeFromCollection()
removeFromCollection in interface RowRow.removeFromCollection()public void removeAndRetain()
Row
 This method differs from Row.remove()
 This method also differs from Row.removeFromCollection()
removeAndRetain in interface Rowprotected byte[] getPiggyback()
protected ServiceMessage getServiceMessage()
protected void processPiggyback(byte[] pb)
protected java.util.ArrayList processServiceMessage(ServiceMessage svcMsg)
protected final int getRSIId()
protected final int getHandleAsInt()
public RowSetIterator getRowSetIterator()
public RowSet getRowSet()
protected ObjectMarshaller getObjectMarshaller()
public Node writeXML(long options, java.util.HashMap voAttrMap)
XMLInterfaceViewObjectImpl and
 ViewRowImpl implement this method to render
 data in XML.
 Use this method whenever data is required in XML format, either to present a UI (after converting XML data into some HTTP format using a stylesheet) or to pass the data as payload for messages via JMS.
The options parameter represents a set of bit flags that will control the writeXML behavior. The following bit flags have been defined:
EntityImpl. The voAttrMap parameter represents in a hashmap, the mapping between a given ViewObject's definition type and the corresponding Attributes/accessors to render. A null entry in the hashmap means, render all attributes and accessors of that viewobject type.
writeXML in interface XMLInterfaceoptions - a set of bit flags that will control the writeXMLvoAttrMap - HashMap containing Definition names of ViewObjects and an
 array of AttributeDef to render for a ViewObject of that definition type.public Node writeXML(int depthCount, long options)
XMLInterfaceViewObjectImpl and
 ViewRowImpl implement this method to render
 data in XML.
 Use this method whenever data is required in XML format, either to present a UI (after converting XML data into some HTTP format using a stylesheet) or to pass the data as payload for messages via JMS.
The depthcount parameter represents to what level the rendering should recurse. A depthcount of zero (0) means do not traverse any View Links while rendering. One (1) means traverse the View Links on this object but no View Links thereafter, and so on.
The options parameter represents a set of bit flags that will control the writeXML behavior. The following bit flags have been defined:
EntityImpl. writeXML in interface XMLInterfacedepthCount - represents to what level the rendering should recurse.options - a set of bit flags that will control the writeXML
 behavior.public void readXML(Element elem, int depthCount)
readXML in interface XMLInterfacepublic Node writeXML(long options, java.util.HashMap voAttrMap, XSLStylesheet xslt)
writeXML in interface XMLInterfacepublic Node writeXML(int depthCount, long options, XSLStylesheet xslt)
writeXML in interface XMLInterfacepublic void readXML(Element elem, int depthCount, XSLStylesheet xslt)
readXML in interface XMLInterfacepublic void setNewRowState(byte state)
RowThis 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.
setNewRowState in interface Rowstate - This could be STATUS_NEW or STATUS_INITIALIZED.protected ApplicationModuleImpl getApplicationModuleProxy()
public void setEffectiveDateMode(int mode)
RowsetEffectiveDateMode in interface Rowmode - One of the effective date mode constants.Row.EFFDT_NONE_MODE, 
Row.EFFDT_UPDATE_CORRECTION, 
Row.EFFDT_UPDATE_MODE, 
Row.EFFDT_UPDATE_OVERRIDE_MODE, 
Row.EFFDT_UPDATE_CHANGE_INSERT_MODE, 
Row.EFFDT_UPDATE_NEW_EARLIEST_CHANGE_MODE, 
Row.EFFDT_DELETE_MODE, 
Row.EFFDT_DELETE_THIS_CHANGE_MODE, 
Row.EFFDT_DELETE_NEXT_CHANGE_MODE, 
Row.EFFDT_DELETE_FUTURE_CHANGE_MODE, 
Row.EFFDT_DELETE_ZAP_MODEpublic int getEffectiveDateMode()
RowgetEffectiveDateMode in interface RowRow.setEffectiveDateMode(int)public SecurityHints getAttributeSecurityHints(int attrIndex)
RowgetAttributeSecurityHints in interface RowattrIndex - the index of the attribute.public SecurityHints getAttributeSecurityHints(java.lang.String attrName)
RowgetAttributeSecurityHints in interface RowattrName - the name of the attribute.public SecurityHints getSecurityHints()
RowgetSecurityHints in interface Row