Oracle9i Business Components for Java API Reference
Oracle9i Jdeveloper (9.0.4)
B10391-01


oracle.jbo.server.ejb.facade
Class FinderViewImpl

java.lang.Object
  |
  +--oracle.jbo.common.NamedObjectImpl
        |
        +--oracle.jbo.server.NamedObjectImpl
              |
              +--oracle.jbo.server.ComponentObjectImpl
                    |
                    +--oracle.jbo.server.ViewObjectImpl
                          |
                          +--oracle.jbo.server.ejb.facade.FinderViewImpl
All Implemented Interfaces:
ComponentObject, EntityListener, java.util.EventListener, NavigatableRowIterator, Properties, RowIterator, RowSet, RowSetIterator, StructureDef, TransactionListener, TransactionPostListener, ViewObject, WSDetailQuery, XMLInterface

public abstract class FinderViewImpl
extends ViewObjectImpl

Abstract base class for Finder-Based View Object. This class extends ViewObjectImpl. Beyond the base ViewObjectImpl functionality, this class is responsible for interacting with the Local Entity Bean Home to execute the designated Local Entity Bean finder and managing the result collection.

When the user builds an EJB Finder View Object for a Local Entity Bean, a subclass of this class is generated.


Field Summary

 

Fields inherited from class oracle.jbo.server.ViewObjectImpl
DATA_ROWKEYTAG, FETCH_ALL, FETCH_AS_NEEDED, FETCH_DEFAULT, mAssocClause, mAssocFromClause, mAssocRefs, mAttrDefs, mAttrDefsForExtendedVOs, mAttrDefsTab, mAutoPostChanges, mDefaultMaxActiveNodes, mDefaultMaxRowsPerNode, MIN_ACTIVE_NODES, MIN_ROWS_PER_NODE, mKeyAttrRefs, mOptimizerHint, mOrderBy, mUsePersColl, mUserDefinedQuery, mViewDef, mViewRowSet, mWhere, NEW_ROW_INDEX, NEW_ROW_TRACKER, QC_TAG, TRANSIENT_DATA_ROWTAG, XML_ELEM_PASSIVATE_TRANSIENT

 

Fields inherited from class oracle.jbo.common.NamedObjectImpl
mFullName, mObjName, mParent, mProperties

 

Fields inherited from interface oracle.jbo.RowSet
FORWARD_ONLY, RANGE_PAGING, RANGE_PAGING_AUTO_POST, SCROLLABLE

 

Fields inherited from interface oracle.jbo.RowIterator
ITER_MODE_LAST_PAGE_FULL, ITER_MODE_LAST_PAGE_PARTIAL, SLOT_BEFORE_FIRST, SLOT_BEYOND_LAST, SLOT_DELETED, SLOT_VALID

 

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

 

Constructor Summary
FinderViewImpl()
          Constructs a Finder-Based View Object.

 

Method Summary
protected  boolean addViewCriteriaToWhereClause()
          Overrides the base implementation of addViewCriteriaToWhereClause().
 void applyViewCriteria(ViewCriteria criteria)
          Overrides the base implementation of applyViewCriteria(oracle.jbo.ViewCriteria).
protected  ViewRowImpl createRowFromResultSet(java.lang.Object qc, java.sql.ResultSet resultSet)
          Overrides the base implementation of createRowFromResultSet(Object, java.sql.ResultSet).
protected  java.util.Collection executeFinder(java.lang.Object qc, java.lang.Object[] params, int noUserParams)
          Calls the Local Entity Bean finder and returns a collection of Entity Beans.
protected  void executeQueryForCollection(java.lang.Object qc, java.lang.Object[] params, int noUserParams)
          Overrides the base implementation of executeQueryForCollection(Object, Object[], int).
protected abstract  java.util.Collection findFromEJBBean(java.lang.Object qc, java.lang.Object[] params, int noUserParams)
          An abstract method that calls the designated Local Entity Bean finder.
protected abstract  EJBLocalHome getEJBLocalHome()
          An abstract method which returns the Entity Bean Home reference.
 long getQueryHitCount(ViewRowSetImpl viewRowSet)
          Overrides the base implementation of getQueryHitCount(oracle.jbo.server.ViewRowSetImpl).
protected  boolean hasNextForCollection(java.lang.Object qc)
          Overrides the base implementation of hasNextForCollection(Object).
protected  void processWhereClause(java.lang.Object qc)
          Processes the complete where-clause for this Finder-Based View Object.
protected  Row[] retrieveByKey(ViewRowSetImpl rs, Key key, int maxNumOfRows)
          Overrides the base implementation of retrieveByKey(ViewRowSetImpl, Key, int).
protected abstract  void setEJBLocalHome(EJBLocalHome ejbHome)
          An abstract method which stores the Entity Bean Home reference.
protected  void setupEJBHome(javax.naming.Context ic)
          Sets up the Entity Bean Home.
protected  javax.naming.Context setupInitialContext()
          Creates the initial context in preparation for setting up of the Entity Bean Home.

 

Methods inherited from class oracle.jbo.server.ViewObjectImpl
activateIteratorState, activateNewRowTracker, activateNewRowTracker, activateState, activateState, activateState, activateTransientAttribute, activateTransients, activateTransients, addDynamicAttribute, addListener, addManagementListener, addOrderByClause, addRowSet, addWhereClause, afterCommit, afterEntityRemove, afterRemove, afterRollback, appendXMLElementNodes, appendXMLElementNodes, beforeCommit, beforeEntityRemove, beforeRollback, bindRangePagingParams, buildFromClause, buildNewCollection, buildOrderByClause, buildQualifyingRowFilters, buildRangePagingQuery, buildRowFilter, buildWhereClause, checkPassivateViewAttributes, clearCache, closeFreedStatements, closeRowSet, closeRowSetIterator, createAndInitRow, createDetailRowSet, createInstance, createInstanceFromResultSet, createKey, createNewRowForCollection, createRow, createRowSet, createRowSetIterator, createViewCriteria, createXMLDefinition, dumpQCs, enumerateRowsInRange, executeDetailQuery, executeQuery, findAttributeDef, findByEntity, findByKey, findRowSet, findRowSetIterator, findViewLinkAccessor, first, getAccessMode, getAllRowsInRange, getApplicationModule, getAttrDefsForEntityAttr, getAttributeCount, getAttributeDef, getAttributeDefs, getAttributeIndexOf, getAttrIndicesForEntityAttr, getBindingStyle, getByKeyFinderRS, getCalculatedAttributeCount, getCurrentRow, getCurrentRowIndex, getCurrentRowSlot, getDBTransaction, getDefaultRowSet, getDefFullName, getDefName, getDetailRowSets, getEntityDef, getEntityDefCount, getEntityDefs, getEstimatedRangePageCount, getEstimatedRowCount, getFetchedRowCount, getFetchMode, getFetchSize, getImplObject, getIterMode, getKeyAttributeDefs, getMasterRowSetIterators, getMaxFetchSize, getNextRangeSet, getOrderByClause, getParametersAsStorageTypes, getPreviousRangeSet, getPrimaryKeys, getPropertiesMap, getProperty, getProxyClassName, getProxyClassName, getQualifyingRowFilters, getQuery, getQueryCollection, getQueryOptimizerHint, getRangeIndexOf, getRangeSize, getRangeStart, getRow, getRowAtRangeIndex, getRowClass, getRowCount, getRowCountInRange, getRowFilters, getRowFromHandle, getRowProxyClassName, getRowQualifier, getRowSet, getRowSetImpl, getRowSetIterator, getRowSetIterators, getRowSets, getSignature, getSyncLock, getTransPostHandle, getUserDataForCollection, getUserDefinedQuery, getViewAttributeDefImpls, getViewCriteria, getViewCriteriaClause, getViewDef, getViewLinkDestinationAttributes, getViewLinkNames, getViewLinks, getViewObject, getWhereClause, getWhereClauseParams, getXMLElementTag, handleActivatedRowNotFound, hasDefaultRowSet, hasNext, hasPrevious, insertRow, insertRowAtRangeIndex, isAssociationConsistent, isAutoPostChanges, isCollectionPresent, isDynamicAttribute, isDynamicAttribute, isExecuted, isFetchComplete, isForeignKey, isForwardOnly, isInternal, isManageRowsByKey, isMaxFetchSizeExceeded, isNameGenerated, isPassivatableTransientAttribute, isPassivationEnabled, isPostedToDB, isQueryChanged, isRangeAtBottom, isRangeAtTop, isReadOnly, isTransientTransactionListener, isTransientTransactionPostListener, last, lookupAttributeDef, next, notifyRowDeleted, notifyRowInserted, notifyRowUpdated, passivateNewRowTracker, passivateState, passivateState, passivateState, passivateTransients, passivateTransients, populateAttributeForRow, postChanges, prepareForActivation, prepareForPassivation, previous, printXMLDefinition, readRowXML, readRowXML, readXML, readXML, releaseUserDataForCollection, remove, removeCurrentRow, removeCurrentRowFromCollection, removeListener, removeManagementListener, removeMasterRowSetIterator, removeRowHandle, removeRowSet, reset, resetSession, rowQualifies, scrollRange, scrollRangeTo, scrollToRangePage, setAccessMode, setAssociationConsistent, setAutoPostChanges, setBindingStyle, setCurrentRow, setCurrentRowAtRangeIndex, setFetchCompleteForCollection, setFetchMode, setFetchSize, setForwardOnly, setIterMode, setKeyAttributeDefs, setListenToEntityEvents, setManageRowsByKey, setMasterRowSetIterator, setMaxFetchSize, setOrderByClause, setPassivatableTransientAttribute, setPassivationEnabled, setPostedToDB, setProxyClassName, setQuery, setQueryChanged, setQueryOptimizerHint, setRangeSize, setRangeStart, setResultSetForCollection, setRowQualifier, setRowValidation, setTransPostHandle, setUserDataForCollection, setViewCriteriaAdapter, setWhereClause, setWhereClauseParam, setWhereClauseParams, showCursorUsage, sourceChanged, updateRowSetFromXML, validate, writeXML, writeXML, writeXML, writeXML

 

Methods inherited from class oracle.jbo.server.ComponentObjectImpl
addListener, create, createRef, getCompListeners, getCompListenersList, getRootApplicationModule, isRegWithPiggyMan, setName, setParent

 

Methods inherited from class oracle.jbo.server.NamedObjectImpl
setParent, setPropertiesMap

 

Methods inherited from class oracle.jbo.common.NamedObjectImpl
getFullName, getName, getParent, getProperties, getPropertiesAsStrings, refreshProperty, setFullName, setProperty

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Methods inherited from interface oracle.jbo.RowSet
getName

 

Methods inherited from interface oracle.jbo.Properties
getProperties, refreshProperty

 

Methods inherited from interface oracle.jbo.ComponentObject
getFullName, getName

 

Constructor Detail

FinderViewImpl

public FinderViewImpl()
Constructs a Finder-Based View Object.
Method Detail

applyViewCriteria

public void applyViewCriteria(ViewCriteria criteria)
Overrides the base implementation of applyViewCriteria(oracle.jbo.ViewCriteria).

It call ViewCriteria.setCriteriaForQuery(boolean) to mark the View Criteria to be used for in memory row filtering. Then, it calls the base implementation.

Specified by:
applyViewCriteria in interface ViewObject
Overrides:
applyViewCriteria in class ViewObjectImpl
Parameters:
criteria - the View Criteria.

addViewCriteriaToWhereClause

protected boolean addViewCriteriaToWhereClause()
Overrides the base implementation of addViewCriteriaToWhereClause().

This method is to indicate whether the View Criteria should be appended to the where-clause. For a Finder-Based View Object, a value of true is returned, i.e., the clause generated from the View Criteria should be appended to the where-clause.

The combined where-clause is then passed to the expression evaluator to filter rows in memory.

Overrides:
addViewCriteriaToWhereClause in class ViewObjectImpl
Returns:
true.

processWhereClause

protected void processWhereClause(java.lang.Object qc)
Processes the complete where-clause for this Finder-Based View Object.

It uses RowQualifier to filter rows.

Parameters:
qc - the Query Collection.

executeFinder

protected java.util.Collection executeFinder(java.lang.Object qc,
                                             java.lang.Object[] params,
                                             int noUserParams)
Calls the Local Entity Bean finder and returns a collection of Entity Beans. It uses the abstract method findFromEJBBean(Object, Object[], int).
Parameters:
qc - the Query Collection.
params - parameter values to be used when calling the finder.
noUserParams - indicates how many of the parameter values in params is user specified parameters.

executeQueryForCollection

protected void executeQueryForCollection(java.lang.Object qc,
                                         java.lang.Object[] params,
                                         int noUserParams)
Overrides the base implementation of executeQueryForCollection(Object, Object[], int).

It calls processWhereClause(Object) to set up the in-memory expression filter.

Overrides:
executeQueryForCollection in class ViewObjectImpl
Parameters:
qc - the Query Collection.
params - parameter values to be used when calling the finder.
noUserParams - indicates how many of the parameter values in params is user specified parameters.

setupInitialContext

protected javax.naming.Context setupInitialContext()
                                            throws javax.naming.NamingException
Creates the initial context in preparation for setting up of the Entity Bean Home.
Returns:
the initial context.
Throws:
javax.naming.NamingException - if something goes wrong while setting up the initial context.

setupEJBHome

protected void setupEJBHome(javax.naming.Context ic)
                     throws javax.naming.NamingException
Sets up the Entity Bean Home.

It first tries to get the Entity Bean Home JDNI name from the View Definition. If one is not found, it gets the JNDI name from the primary Entity base of the View Object. It calls an abstract method setEJBLocalHome(javax.ejb.EJBLocalHome).

Parameters:
ic - the initial context.
javax.naming.NamingException

getEJBLocalHome

protected abstract EJBLocalHome getEJBLocalHome()
An abstract method which returns the Entity Bean Home reference.

A subclass of this class has an implementation of this method which returns the Entity Bean Home reference.

Returns:
the Entity Bean Home reference.

setEJBLocalHome

protected abstract void setEJBLocalHome(EJBLocalHome ejbHome)
An abstract method which stores the Entity Bean Home reference.

A subclass of this class has an implementation of this method which assigns ejbHome to a field of that subclass.

Parameters:
ejbHome - the Entity Bean Local Home to be stored.

findFromEJBBean

protected abstract java.util.Collection findFromEJBBean(java.lang.Object qc,
                                                        java.lang.Object[] params,
                                                        int noUserParams)
An abstract method that calls the designated Local Entity Bean finder.

A subclass of this class has an implementation of this method which calls the specific finder. Values of params are passed to the finder as parameters.

Parameters:
qc - the Query Collection.
params - parameter values to be used when calling the finder.
noUserParams - indicates how many of the parameter values in params is user specified parameters.
Returns:
the collection returned by the finder.

hasNextForCollection

protected boolean hasNextForCollection(java.lang.Object qc)
Overrides the base implementation of hasNextForCollection(Object). Determines whether the Query Collection has next row or not from the Entity Bean collection returned from the previous call to the finder.
Overrides:
hasNextForCollection in class ViewObjectImpl
Parameters:
qc - the Query Collection.
Returns:
true if the collection has more rows. false otherwise.

createRowFromResultSet

protected ViewRowImpl createRowFromResultSet(java.lang.Object qc,
                                             java.sql.ResultSet resultSet)
Overrides the base implementation of createRowFromResultSet(Object, java.sql.ResultSet). Creates a View Row from the next Entity Bean and returns it.
Overrides:
createRowFromResultSet in class ViewObjectImpl
Parameters:
qc - the Query Collection.
resultSet - the JDBC Result Set object. Not used in FinderViewImpl.
Returns:
the View Row.

getQueryHitCount

public long getQueryHitCount(ViewRowSetImpl viewRowSet)
Overrides the base implementation of getQueryHitCount(oracle.jbo.server.ViewRowSetImpl). It returns the number of rows in the collection.
Overrides:
getQueryHitCount in class ViewObjectImpl
Parameters:
viewRowSet - the Row Set whose row count is to be computed.
Returns:
the row count.

retrieveByKey

protected Row[] retrieveByKey(ViewRowSetImpl rs,
Key key,
                              int maxNumOfRows)
Overrides the base implementation of retrieveByKey(ViewRowSetImpl, Key, int).

This method is called by findByKey(Key, int) when it does not find all the rows in the View Row cache.

Overrides:
retrieveByKey in class ViewObjectImpl
Parameters:
rs - the View Row Set for which the rows being retrieved.
key - the key to match rows with.
maxNumOfRows - limits the number of rows to return. If -1, all matching rows are returned.
Returns:
an array of matching rows.

Oracle9i Business Components for Java API Reference
Oracle9i Jdeveloper (9.0.4)
B10391-01


 

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