Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

oracle.jbo.server
Class RowImpl

java.lang.Object
  extended by oracle.jbo.server.RowImpl
All Implemented Interfaces:
AttributeList, JIReservedVarNames, ExprValueSupplier, JboReservedVarNames, Row, VariableManagerOwnerBase, XMLInterface
Direct Known Subclasses:
EntityImpl, ViewRowImpl

public abstract class RowImpl
extends java.lang.Object
implements Row, VariableManagerOwnerBase, ExprValueSupplier, JboReservedVarNames

Base class for Entity Rows and View Object Rows. This class defines common methods for Entity Row and View Object Row access. Customer application logic can use this class to access database table rows independently of the implementation of the underlying row. For example, assume that a customer application is written to perform batch style inserts into a database table. This application may reference the RowImpl class for row access instead of accessing instances of ViewRowImpl or EntityImpl directly. This design would allow changes in a row's implementation (Entity Row or View Object Row) without necessitating changes in the application logic.

Unlike the Row interface which provides tier-independent access to database table rows, this class can only be referenced by logic that executes on an application's middle tier.

Customers should not develop implementations of this abstract class. Instead, customers who need to extend/override Row behavior should extend one of the concrete Row classes: EntityImpl and ViewRowImpl.

Since:
JDeveloper 3.0
See Also:
ViewRowImpl, EntityImpl, Row

Field Summary
 
Fields inherited from interface oracle.jbo.Row
EFFDT_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_NEW
 
Fields inherited from interface oracle.jbo.XMLInterface
XML_IGNORE_DEPTH_COUNT, XML_OPT_ALL_ROWS, XML_OPT_ASSOC_CONSISTENT, XML_OPT_CHANGES_ONLY, XML_OPT_LIMIT_RANGE, XML_PASSIVATION_USE
 
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
RowImpl()
           
 
Method Summary
protected  void addListBindingsForAttribute(java.util.List lbs, java.util.List attrNames, java.lang.String attrName, java.util.ArrayList derivedNames, java.util.ArrayList al)
          Internal: Applications should not use this method.
protected  void clearAllExceptions()
           
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 clearAttributeException(java.lang.String name)
          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 clearRowExceptions()
           
 java.lang.String createXMLDefinition(int depthCount)
          Creates a StringWriter and calls printXMLDefinition to generate proper DTD for this row and all containees (if depthCount > 0)
protected  oracle.adf.share.security.authorization.PrivilegeHolder doAllowsOperation(java.lang.String operationName)
           
protected  void doAutoClearAttribute(java.lang.String attrName)
           
 VariableValueManager ensureVariableManager()
          Returns this object's Variable Value Manager.
protected  int findAttrAndGetIndex(java.lang.String name)
           
protected  java.lang.String findListBindingName(java.lang.String attrName, java.lang.String lbName)
          Internal: Applications should not use this method.
 RowSet findOrCreateViewAccessorRS(java.lang.String vaName)
           
 ViewAccessorDef findViewAccessorDef(java.lang.String name)
          This method returns ViewAccessorDef with the specified name.
protected  boolean forceFilterListExecute(ListBinding lb, java.util.Map valuesMap)
           
protected  java.util.ArrayList getAllExceptions()
           
abstract  int getAttributeCount()
          Counts the attributes in this row.
abstract  int getAttributeIndexOf(java.lang.String name)
          Finds the index of a named attribute.
protected abstract  java.lang.Object getAttributeInternal(int index)
          Gets the attribute value by index.
protected  java.lang.Object getAttributeInternal(java.lang.String name)
          Gets the attribute value by name.
 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.
protected  java.lang.String[] getCombinedAttrNames(java.lang.Object[] attrNames, java.util.List derivedNames)
          This method combines the given attribute names with the derived attribute names It throws an exception if the derived attribute names overlap the given names This would happen in a case were the user or a program attempts to set a couple of attributes but the associated list bindings will override at least one of them.
 java.lang.Object getEffectiveDate()
           
 int getEffectiveDateMode()
          Get the current effective date mode.
 java.lang.Object getExprMethodVal(java.lang.String methodName, java.lang.Object[] paramList)
           
 java.lang.Object getExprVarVal(java.lang.String varName)
           
 java.util.Map getHints()
          This method returns a Map in which the keys are the attribute names in the row and the values are the AttributeHintsMap of the corresponding row attributes.
abstract  Key getKey()
          Returns the row's key.
protected abstract  RowSetIterator getListBindingRSI(ListBindingDef def)
          Internal: Applications should not use this method.
protected abstract  java.util.List getListBindings()
          Internal: Applications should not use this method.
 java.lang.Class getMessageBundleClass()
           
 int getMethodKind(java.lang.String methodName)
           
protected abstract  VariableValueManager getParentVariableManager()
           
 ResourceBundleDef getResourceBundleDef()
           
protected  java.util.ArrayList getRowExceptions()
          Return a list of cached exceptions at the row level.
 SecurityHints getSecurityHints()
          Returns the SecurityHints object for the row.
abstract  StructureDef getStructureDef()
          Returns the structure of the row.
 VariableValueManager getVariableManager()
          Returns this object's current Variable Value Manager.
protected  int getViewAccessorResultIndex(ViewAccessorDef va)
          Deprecated. use ViewAccessorDef.getResultIndex() instead
protected abstract  void handleListBindingMismatch(ListBinding lb, java.util.Map valuesMap, RowIterator listRSI)
          Internal: Applications should not use this method.
protected  boolean hasAttributeException(int index)
          Returns true if an attribute at the given index was set earlier and threw an exception which was cached as the transaction is in deferred mode.
protected  boolean hasAttributeException(java.lang.String name)
          Returns true if an attribute of the given name was set earlier and threw an exception which was cached as the transaction is in deferred mode.
 boolean hasDeferredExceptions()
           
protected abstract  boolean hasListBindings()
          Internal: Applications should not use this method.
 boolean hasVariables()
          Returns a flag indicating whether this object has Variables or not.
abstract  boolean isAttributeUpdateable(int index)
          Tests if an attribute is updateable.
abstract  boolean isDead()
          An attempt to access a dead view row will lead to a DeadViewRowAccessException.
protected  boolean isRefreshRequired(ViewAccessorDef va, java.lang.String[] attrNames)
          Check if a view accessor should be refreshed when a list of attribute get changed.
protected  boolean isRefreshRequired(ViewAccessorDef va, java.lang.String[] attrNames, java.lang.Object[] attrValues)
          Check if a view accessor should be refreshed when a list of attribute get changed.
protected  boolean isRefreshRequired(ViewAccessorDef va, java.lang.String[] attrNames, java.lang.Object[] attrValues, RowSet rs)
           
abstract  void lock()
          Locks the row(s) in the database table.
protected  ListBinding lookupListBinding(java.lang.String lbName)
          Internal: Applications should not use this method.
protected  void markViewAccessorsDirty(java.lang.String[] attrNames)
           
protected abstract  void populateAttribute(int index, java.lang.Object value)
          Populates the attribute at the given index with the given attribute value.
protected  java.lang.String printXMLDefinition(java.util.Hashtable allDefs, java.io.PrintWriter pw, int depthCount)
          Prints DTD for this row and all its contents (including contained RowSets if depthCount is non-zero).
abstract  void readXML(Element elem, int depthCount)
          Reads the content of the row and updates the attributes, from given XML document.
 void readXML(Element elem, int depthCount, XSLStylesheet xslt)
          Given the document interface, finds the rowset Element and invokes JboXMLUtil.processAndReadXML(XMLInterface, org.w3c.dom.Element, int, oracle.xml.parser.v2.XSLStylesheet) to read in the data from the XML.
protected  void refreshViewAccessor(ViewAccessorDef va)
           
protected  void refreshViewAccessor(ViewAccessorDef va, java.util.Map attrNameValues)
           
protected  void refreshViewAccessor(ViewAccessorDef va, java.util.Map attrNameValues, RowSet rs)
           
protected abstract  void registerAttributeException(AttributeDef attrDef, java.lang.Object val, JboException ex)
           
protected  void registerRowException(JboException e)
           
abstract  void remove()
          Marks the row as removed and removes it from row iterators.
protected abstract  void setAttributeInternal(int index, java.lang.Object value)
          Sets the attribute value by index after performing declarative attribute-level validations.
protected  void setAttributeInternal(java.lang.String name, java.lang.Object value)
          Sets the attribute value by name.
abstract  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 setExprVarVal(java.lang.String varName, java.lang.Object val)
           
protected  void setInMultiSetter(java.util.List al)
           
abstract  void setNewRowState(byte state)
          Sets a new unposted row, created in this transaction, to either STATUS_NEW or STATUS_INITIALIZED mode.
protected  boolean skipFilterListOnKeyAttributes(ListBinding lb, java.util.Map valuesMap)
           
abstract  void validate()
          Invokes the validate method for the validators attached to this business object.
protected  void variablesAdded()
           
 Node writeXML(int depthCount, long options)
          Writes this row as XML in the given XML document.
 Node writeXML(int depthCount, long options, XSLStylesheet xslt)
          Writes this row as XML in the given XML document, according to the specified XSLT stylesheet.
 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface oracle.jbo.Row
getAttributeHints, getAttributeHints, refresh, removeAndRetain, removeFromCollection
 
Methods inherited from interface oracle.jbo.AttributeList
getAttribute, getAttribute, getAttributeNames, getAttributeValues, setAttribute, setAttribute
 

Constructor Detail

RowImpl

public RowImpl()
Method Detail

getAttributeInternal

protected abstract java.lang.Object getAttributeInternal(int index)
Gets the attribute value by index.

Parameters:
index - attribute index
Returns:
attribute value

findAttrAndGetIndex

protected int findAttrAndGetIndex(java.lang.String name)

getAttributeInternal

protected final java.lang.Object getAttributeInternal(java.lang.String name)
Gets the attribute value by name. For example:

  Date startDate;
  startDate = (Date)getAttributeInternal(HIREDATE);
 

This method throws a JboException if an attribute of the given name is not found.

Parameters:
name - attribute name
Returns:
attribute value
Throws:
JboException - if the attribute is not found.

setAttributeValues

public abstract void setAttributeValues(java.util.List names,
                                        java.util.List values)
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.

Specified by:
setAttributeValues in interface Row

doAutoClearAttribute

protected void doAutoClearAttribute(java.lang.String attrName)

isRefreshRequired

protected boolean isRefreshRequired(ViewAccessorDef va,
                                    java.lang.String[] attrNames)
Check if a view accessor should be refreshed when a list of attribute get changed.

Parameters:
va - The View Accessor to be checked.
attrNames - The array of changed attribute.
Returns:
Return true if the View Accessor should be refreshed, orelse, false.

isRefreshRequired

protected boolean isRefreshRequired(ViewAccessorDef va,
                                    java.lang.String[] attrNames,
                                    java.lang.Object[] attrValues)
Check if a view accessor should be refreshed when a list of attribute get changed.

Parameters:
va - The View Accessor to be checked.
attrNames - The array of changed attribute.
attrValues - The array of values for the changed attribute if values are not in the current row.
Returns:
Return true if the View Accessor should be refreshed, orelse, false.

isRefreshRequired

protected boolean isRefreshRequired(ViewAccessorDef va,
                                    java.lang.String[] attrNames,
                                    java.lang.Object[] attrValues,
                                    RowSet rs)

refreshViewAccessor

protected void refreshViewAccessor(ViewAccessorDef va)

refreshViewAccessor

protected void refreshViewAccessor(ViewAccessorDef va,
                                   java.util.Map attrNameValues)

refreshViewAccessor

protected void refreshViewAccessor(ViewAccessorDef va,
                                   java.util.Map attrNameValues,
                                   RowSet rs)

getCombinedAttrNames

protected final java.lang.String[] getCombinedAttrNames(java.lang.Object[] attrNames,
                                                        java.util.List derivedNames)
This method combines the given attribute names with the derived attribute names It throws an exception if the derived attribute names overlap the given names This would happen in a case were the user or a program attempts to set a couple of attributes but the associated list bindings will override at least one of them.

Parameters:
attrNames - list of attribute names to change
derivedNames - list of attribute names that are derived from the listbindings associated with the attributes to change

markViewAccessorsDirty

protected void markViewAccessorsDirty(java.lang.String[] attrNames)

setInMultiSetter

protected final void setInMultiSetter(java.util.List al)

getListBindings

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


getListBindingRSI

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


hasListBindings

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


handleListBindingMismatch

protected abstract void handleListBindingMismatch(ListBinding lb,
                                                  java.util.Map valuesMap,
                                                  RowIterator listRSI)
Internal: Applications should not use this method.


findListBindingName

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


lookupListBinding

protected ListBinding lookupListBinding(java.lang.String lbName)
Internal: Applications should not use this method.


addListBindingsForAttribute

protected void addListBindingsForAttribute(java.util.List lbs,
                                           java.util.List attrNames,
                                           java.lang.String attrName,
                                           java.util.ArrayList derivedNames,
                                           java.util.ArrayList al)
Internal: Applications should not use this method.


setAttributeInternal

protected abstract void setAttributeInternal(int index,
                                             java.lang.Object value)
Sets the attribute value by index after performing declarative attribute-level validations.

This method is used by code-gen facility in accessors for entity attributes.

Parameters:
index - attribute index
value - attribute value

setAttributeInternal

protected final void setAttributeInternal(java.lang.String name,
                                          java.lang.Object value)
Sets the attribute value by name. This method invokes getAttributeIndexOf as:

 setAttributeInternal(getAttributeIndexOf(name), value);
 

to get the name corresponding to the index, then set the value.

This method is used by the code generation facility in accessors for ViewRow attributes.

Parameters:
name - column name.
value - column data.
See Also:
getAttributeIndexOf(java.lang.String)

lock

public abstract void lock()
Description copied from interface: Row
Locks the row(s) in the database table.

For a View row, this method calls lock() on each Entity row that makes up the View row.

Specified by:
lock in interface Row

getAttributeCount

public abstract int getAttributeCount()
Counts the attributes in this row.

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

getAttributeIndexOf

public abstract int getAttributeIndexOf(java.lang.String name)
Finds the index of a named attribute.

Specified by:
getAttributeIndexOf in interface AttributeList
Parameters:
name - an attribute name.
Returns:
the index of name, or -1 if not found.

populateAttribute

protected abstract void populateAttribute(int index,
                                          java.lang.Object value)
Populates the attribute at the given index with the given attribute value.

Parameters:
index - an attribute position.
value - the value to be assigned to the attribute.

isAttributeUpdateable

public abstract boolean isAttributeUpdateable(int index)
Tests if an attribute is updateable.

Specified by:
isAttributeUpdateable in interface Row
Parameters:
index - the index of the attribute.
Returns:
true if the row is marked UPDATEABLE, or if the row is marked UPDATEABLE_WHILE_NEW and the current row is new.

getKey

public abstract Key getKey()
Description copied from interface: Row
Returns the row's key.

Specified by:
getKey in interface Row
Returns:
the row's Key.

validate

public abstract void validate()
Invokes the validate method for the validators attached to this business object.

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

remove

public abstract void remove()
Marks the row as removed and removes it from row iterators.

Specified by:
remove in interface Row

createXMLDefinition

public final java.lang.String createXMLDefinition(int depthCount)
Creates a StringWriter and calls printXMLDefinition to generate proper DTD for this row and all containees (if depthCount > 0)

Parameters:
depthCount - the number of child levels deep to include in the definitions.

writeXML

public Node writeXML(long options,
                     java.util.HashMap voAttrMap)
Description copied from interface: XMLInterface
Renders data in a canonical XML-format. The classes ViewObjectImpl 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:

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.

Specified by:
writeXML in interface XMLInterface
Parameters:
options - a set of bit flags that will control the writeXML
voAttrMap - HashMap containing Definition names of ViewObjects and an array of AttributeDef to render for a ViewObject of that definition type.

writeXML

public Node writeXML(long options,
                     java.util.HashMap voAttrMap,
                     XSLStylesheet xslt)
Specified by:
writeXML in interface XMLInterface

writeXML

public Node writeXML(int depthCount,
                     long options,
                     XSLStylesheet xslt)
Writes this row as XML in the given XML document, according to the specified XSLT stylesheet.

Specified by:
writeXML in interface XMLInterface
Parameters:
depthCount - the number of child levels deep to append the row nodes.
options - a set of bit flags that will control the writeXML behavior.
xslt - name of the XSLT stylesheet.

writeXML

public final Node writeXML(int depthCount,
                           long options)
Writes this row as XML in the given XML document.

Specified by:
writeXML in interface XMLInterface
Parameters:
depthCount - the number of child levels deep to append the row nodes.
options - a set of bit flags that will control the writeXML behavior.

readXML

public void readXML(Element elem,
                    int depthCount,
                    XSLStylesheet xslt)
Given the document interface, finds the rowset Element and invokes JboXMLUtil.processAndReadXML(XMLInterface, org.w3c.dom.Element, int, oracle.xml.parser.v2.XSLStylesheet) to read in the data from the XML.

Note that if the XML contains modifications to row-keys, other RowSets for this object may not pick those changes up unless the rows are posted to the database. Call Transaction.postChanges() to sync up all RowSets.

Specified by:
readXML in interface XMLInterface
Parameters:
elem - name of the XML element.
depthCount - the number of child levels deep to which data should be read.
xslt - name of the XSLT stylesheet.

readXML

public abstract void readXML(Element elem,
                             int depthCount)
Reads the content of the row and updates the attributes, from given XML document. If the xml node for the row has an attribute like bc4j-action="remove" then this method calls remove() on this row.

Specified by:
readXML in interface XMLInterface
Parameters:
elem - name of the XML element.
depthCount - the number of child levels deep to which data should be read.

printXMLDefinition

protected java.lang.String printXMLDefinition(java.util.Hashtable allDefs,
                                              java.io.PrintWriter pw,
                                              int depthCount)
Prints DTD for this row and all its contents (including contained RowSets if depthCount is non-zero). Returns the XML-tag for this row to be included in the rowset's declaration. Can be overridden to print a custom DTD.

Parameters:
allDefs - a hashtable of predefined XML definitions passed from whatever calls this method.
pw - print writer into which the defnition is being printed.
depthCount - the number of child levels for which the DTD definition should be generated.

clearAttributeException

protected void clearAttributeException(java.lang.String name)
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.


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.


hasAttributeException

protected boolean hasAttributeException(java.lang.String name)
Returns true if an attribute of the given name was set earlier and threw an exception which was cached as the transaction is in deferred mode.


hasAttributeException

protected boolean hasAttributeException(int index)
Returns true if an attribute at the given index was set earlier and threw an exception which was cached as the transaction is in deferred mode.


hasDeferredExceptions

public boolean hasDeferredExceptions()

isDead

public abstract boolean isDead()
Description copied from interface: Row
An attempt to access a dead view row will lead to a DeadViewRowAccessException. Using this API method, client code can test the row state.

Specified by:
isDead in interface Row
Returns:
true if the row is dead.

getAllExceptions

protected java.util.ArrayList getAllExceptions()

clearAllExceptions

protected void clearAllExceptions()

registerAttributeException

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

registerRowException

protected void registerRowException(JboException e)

clearRowExceptions

protected void clearRowExceptions()

getRowExceptions

protected java.util.ArrayList getRowExceptions()
Return a list of cached exceptions at the row level. These exceptions were cached using registerRowExceptions method.


getStructureDef

public abstract StructureDef getStructureDef()
Description copied from interface: Row
Returns the structure of the row.

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

setNewRowState

public abstract 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.

Specified by:
setNewRowState in interface Row
Parameters:
state - This could be STATUS_NEW or STATUS_INITIALIZED.

hasVariables

public boolean hasVariables()
Description copied from interface: VariableManagerOwnerBase
Returns a flag indicating whether this object has Variables or not.

Specified by:
hasVariables in interface VariableManagerOwnerBase
Returns:
the flag indicating whether this object has Variables.

getVariableManager

public VariableValueManager getVariableManager()
Description copied from interface: VariableManagerOwnerBase
Returns this object's current Variable Value Manager. It will return null if Variable Value Manager has been initialized.

When a framework object is first created, its Variable Value Manager may be null. This method does not initialize (create) the Variable Value Manager.

VariableManagerOwnerBase.ensureVariableManager() in contrast, ensures that the Variable Value Manager is initialized (created).

Specified by:
getVariableManager in interface VariableManagerOwnerBase
Returns:
this object's current Variable Value Manager. May return null if one was not yet initialized.

getParentVariableManager

protected abstract VariableValueManager getParentVariableManager()

variablesAdded

protected void variablesAdded()

ensureVariableManager

public VariableValueManager ensureVariableManager()
Description copied from interface: VariableManagerOwnerBase
Returns this object's Variable Value Manager. If this object current has no Variable Value Manager, it will initialize (create) one.

Specified by:
ensureVariableManager in interface VariableManagerOwnerBase
Returns:
this object's Variable Value Manager. Will create a Variable Value Manager if this object had no Variable Value Manager.

getMessageBundleClass

public java.lang.Class getMessageBundleClass()
Specified by:
getMessageBundleClass in interface VariableManagerOwnerBase

getResourceBundleDef

public ResourceBundleDef getResourceBundleDef()
Specified by:
getResourceBundleDef in interface VariableManagerOwnerBase

getHints

public java.util.Map getHints()
This method returns a Map in which the keys are the attribute names in the row and the values are the AttributeHintsMap of the corresponding row attributes. For example, to get the label hint of the Hiredate attribute

  Map attrHintsMap = (Map) getHints().get("Hiredate");
  String label = (String) attrHintsMap.get(AttributeHints.HINT_NAME_LABEL);
 

Returns:
A Map containing an AttributeHintsMap for each of the row attribute.

getExprVarVal

public java.lang.Object getExprVarVal(java.lang.String varName)
Specified by:
getExprVarVal in interface ExprValueSupplier

setExprVarVal

public void setExprVarVal(java.lang.String varName,
                          java.lang.Object val)
Specified by:
setExprVarVal in interface ExprValueSupplier

getMethodKind

public int getMethodKind(java.lang.String methodName)

getExprMethodVal

public java.lang.Object getExprMethodVal(java.lang.String methodName,
                                         java.lang.Object[] paramList)

setEffectiveDateMode

public void setEffectiveDateMode(int mode)
Description copied from interface: Row
Set the Effective Date mode in which the row updates need to be carried out. The mode needs to be set prior to the changes.

Specified by:
setEffectiveDateMode in interface Row
Parameters:
mode - One of the effective date mode constants.
See Also:
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_MODE

getEffectiveDateMode

public int getEffectiveDateMode()
Description copied from interface: Row
Get the current effective date mode.

Specified by:
getEffectiveDateMode in interface Row
Returns:
The current mode of an effective dated row.
See Also:
Row.setEffectiveDateMode(int)

getEffectiveDate

public java.lang.Object getEffectiveDate()

findViewAccessorDef

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

Parameters:
name - The name of the ViewAccessorDef.
Returns:
The ViewAccessorDef

findOrCreateViewAccessorRS

public RowSet findOrCreateViewAccessorRS(java.lang.String vaName)

getAttributeSecurityHints

public SecurityHints getAttributeSecurityHints(java.lang.String attrName)
Description copied from interface: Row
Returns the SecurityHints object for the specified attribute for the row.

Specified by:
getAttributeSecurityHints in interface Row
Parameters:
attrName - the name of the attribute.
Returns:
SecurityHints of the row.

getAttributeSecurityHints

public SecurityHints getAttributeSecurityHints(int attrIndex)
Description copied from interface: Row
Returns the SecurityHints object for the specified attribute for the row.

Specified by:
getAttributeSecurityHints in interface Row
Parameters:
attrIndex - the index of the attribute.
Returns:
SecurityHints of the row.

getSecurityHints

public SecurityHints getSecurityHints()
Description copied from interface: Row
Returns the SecurityHints object for the row.

Specified by:
getSecurityHints in interface Row
Returns:
SecurityHints of the row.

doAllowsOperation

protected oracle.adf.share.security.authorization.PrivilegeHolder doAllowsOperation(java.lang.String operationName)

skipFilterListOnKeyAttributes

protected boolean skipFilterListOnKeyAttributes(ListBinding lb,
                                                java.util.Map valuesMap)

forceFilterListExecute

protected boolean forceFilterListExecute(ListBinding lb,
                                         java.util.Map valuesMap)

getViewAccessorResultIndex

protected int getViewAccessorResultIndex(ViewAccessorDef va)
Deprecated. use ViewAccessorDef.getResultIndex() instead

Return the index at which the view accessor rowset needs to be stored.


Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

Copyright © 1997, 2011, Oracle. All rights reserved.