Package org.apache.openjpa.jdbc.sql
Class MergedResult
java.lang.Object
org.apache.openjpa.jdbc.sql.MergedResult
Result that merges multiple result delegates. Support exists for
maintaining ordering of the internally-held results, provided that each
of the individual results is itself ordered.
- Author:
- Abe White
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceComparator for ordering result rows. -
Constructor Summary
ConstructorsConstructorDescriptionMergedResult(Result[] res) Constructor; supply delegates.MergedResult(Result[] res, MergedResult.ResultComparator comp) Constructor; supply delegates and comparator for ordering results. -
Method Summary
Modifier and TypeMethodDescriptionbooleanabsolute(int row) Move to the given 0-based row in the result, or return false if the row does not exist.voidclose()Free the resources used by this result; do not close the SQL connection.booleanReturn true if the given id or column is available in the result.booleanReturn true if the given column is available in the result.booleancontainsAll(Object[] objs) Return true if all the given ids or columns are available in the result.booleancontainsAll(Column[] cols, Joins joins) Return true if all the given columns are available in the result.voidEnds a data request.Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.getAsciiStream(Object obj) Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.getAsciiStream(Column col, Joins joins) Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.If this is the result of a UNION used to select a hierarchy of mappings, the base mapping represented by the current row.getBigDecimal(Object obj) Return the value stored in the given column or id.getBigDecimal(Column col, Joins joins) Return the value stored in the given column.getBigInteger(Object obj) Return the value stored in the given column or id.getBigInteger(Column col, Joins joins) Return the value stored in the given column.getBinaryStream(Object obj) Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.getBinaryStream(Column col, Joins joins) Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.booleangetBoolean(Object obj) Return the value stored in the given column or id.booleangetBoolean(Column col, Joins joins) Return the value stored in the given column.byteReturn the value stored in the given column or id.byteReturn the value stored in the given column.byte[]Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.byte[]Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.getCalendar(Object obj) Return the value stored in the given column or id.getCalendar(Column col, Joins joins) Return the value stored in the given column.charReturn the value stored in the given column or id.charReturn the value stored in the given column.getCharacterStream(Object obj) Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.getCharacterStream(Column col, Joins joins) Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column or id.Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column.doubleReturn the value stored in the given column or id.doubleReturn the value stored in the given column.getEager(FieldMapping key) The eager result for the given key, or null if none.floatReturn the value stored in the given column or id.floatReturn the value stored in the given column.intReturn the value stored in the given column or id.intReturn the value stored in the given column.getLOBStream(JDBCStore store, Object obj) getLocalDate(Object obj) Return the value stored in the given column or id.getLocalDateTime(Object obj) Return the value stored in the given column or id.Return the value stored in the given column or id.Return the value stored in the given column.getLocalTime(Object obj) Return the value stored in the given column or id.longReturn the value stored in the given column or id.longReturn the value stored in the given column.If this is the result used to select a toMany relationship, the mappedByFieldMapping is field mapping representing the inverse relationship.If this is the result used to select a toMany relationship, the mappedByValue is value of the owner of the toMany relationship.Return the value stored in the given column or id.Return the value stored in the given column.Return the value stored in the given column or id.Return the value stored in the given column.getOffsetDateTime(Object obj) Return the value stored in the given column or id.getOffsetTime(Object obj) Return the value stored in the given column or id.Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.shortReturn the value stored in the given column or id.shortReturn the value stored in the given column.getSQLObject(Object obj, Map map) Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.getSQLObject(Column col, Map map, Joins joins) Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column or id.Return the value stored in the given column.Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.getTimestamp(Object obj, Calendar cal) Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.getTimestamp(Column col, Calendar cal, Joins joins) Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set.intindexOf()The index of the select within the UNION that the current row corresponds to, or 0.booleanIf true, then any results loaded from this Result will be locked in the database.load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch) Load a pc object using the given store manager.load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch, Joins joins) Load a pc object using the given store manager.newJoins()Return a new joins instance to use for traversing to related data.booleannext()Advance to the next row, or return false if there are no more rows in the result.voidpushBack()Push back the last result.voidputEager(FieldMapping key, Object res) The eager result for the given key, or null if none.voidsetBaseMapping(ClassMapping mapping) If this is the result of a UNION used to select a hierarchy of mappings, the base mapping represented by the current row.voidsetLocking(boolean locking) Set to true if row locking has been issued for the row.voidsetMappedByFieldMapping(FieldMapping fieldMapping) If this is the result used to select a toMany relationship, the mappedByFieldMapping is field mapping representing the inverse relationship.voidsetMappedByValue(Object mappedByValue) If this is the result used to select a toMany relationship, the mappedByValue is value of the owner of the toMany relationship.intsize()Return the number of rows in this result.voidstartDataRequest(Object mapping) Informs this receiver about the application element for which a subsequent data request will be made.booleanReturn true if the result supports random access.booleanwasNull()Return true if the last value fetched was null.
-
Constructor Details
-
MergedResult
Constructor; supply delegates. -
MergedResult
Constructor; supply delegates and comparator for ordering results.
-
-
Method Details
-
getEager
Description copied from interface:ResultThe eager result for the given key, or null if none. -
putEager
Description copied from interface:ResultThe eager result for the given key, or null if none. -
newJoins
Description copied from interface:ResultReturn a new joins instance to use for traversing to related data. -
close
public void close()Description copied from interface:ResultFree the resources used by this result; do not close the SQL connection. -
setLocking
public void setLocking(boolean locking) Description copied from interface:ResultSet to true if row locking has been issued for the row.- Specified by:
setLockingin interfaceResult
-
isLocking
public boolean isLocking()Description copied from interface:ResultIf true, then any results loaded from this Result will be locked in the database. -
supportsRandomAccess
Description copied from interface:ResultReturn true if the result supports random access.- Specified by:
supportsRandomAccessin interfaceResult- Throws:
SQLException
-
absolute
Description copied from interface:ResultMove to the given 0-based row in the result, or return false if the row does not exist. This method will only be called if the result supports random access.- Specified by:
absolutein interfaceResult- Throws:
SQLException
-
next
Description copied from interface:ResultAdvance to the next row, or return false if there are no more rows in the result.- Specified by:
nextin interfaceResult- Throws:
SQLException
-
pushBack
Description copied from interface:ResultPush back the last result. In other words, just ignore the next call toResult.next(). After the first time this method is called, additional calls before a call toResult.next()orResult.absolute(int)should have no further affect.- Specified by:
pushBackin interfaceResult- Throws:
SQLException
-
size
Description copied from interface:ResultReturn the number of rows in this result.- Specified by:
sizein interfaceResult- Throws:
SQLException
-
contains
Description copied from interface:ResultReturn true if the given id or column is available in the result.- Specified by:
containsin interfaceResult- Throws:
SQLException
-
containsAll
Description copied from interface:ResultReturn true if all the given ids or columns are available in the result.- Specified by:
containsAllin interfaceResult- Throws:
SQLException
-
contains
Description copied from interface:ResultReturn true if the given column is available in the result.- Specified by:
containsin interfaceResult- Throws:
SQLException
-
containsAll
Description copied from interface:ResultReturn true if all the given columns are available in the result.- Specified by:
containsAllin interfaceResult- Throws:
SQLException
-
getBaseMapping
Description copied from interface:ResultIf this is the result of a UNION used to select a hierarchy of mappings, the base mapping represented by the current row. This information is not available after getting any eager results from the row.- Specified by:
getBaseMappingin interfaceResult
-
setBaseMapping
Description copied from interface:ResultIf this is the result of a UNION used to select a hierarchy of mappings, the base mapping represented by the current row. This information is not available after getting any eager results from the row.- Specified by:
setBaseMappingin interfaceResult
-
getMappedByFieldMapping
Description copied from interface:ResultIf this is the result used to select a toMany relationship, the mappedByFieldMapping is field mapping representing the inverse relationship. This is to avoid unneeded extra sql to retrieve the eager inverse field.- Specified by:
getMappedByFieldMappingin interfaceResult
-
setMappedByFieldMapping
Description copied from interface:ResultIf this is the result used to select a toMany relationship, the mappedByFieldMapping is field mapping representing the inverse relationship. This is to avoid unneeded extra sql to retrieve the eager inverse field.- Specified by:
setMappedByFieldMappingin interfaceResult
-
getMappedByValue
Description copied from interface:ResultIf this is the result used to select a toMany relationship, the mappedByValue is value of the owner of the toMany relationship. This is to avoid unneeded extra sql to retrieve the eager inverse field.- Specified by:
getMappedByValuein interfaceResult
-
setMappedByValue
Description copied from interface:ResultIf this is the result used to select a toMany relationship, the mappedByValue is value of the owner of the toMany relationship. This is to avoid unneeded extra sql to retrieve the eager inverse field.- Specified by:
setMappedByValuein interfaceResult
-
indexOf
public int indexOf()Description copied from interface:ResultThe index of the select within the UNION that the current row corresponds to, or 0. -
load
public Object load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException Description copied from interface:ResultLoad a pc object using the given store manager.- Specified by:
loadin interfaceResult- Throws:
SQLException
-
load
public Object load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch, Joins joins) throws SQLException Description copied from interface:ResultLoad a pc object using the given store manager.- Specified by:
loadin interfaceResult- Throws:
SQLException
-
getArray
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getArrayin interfaceResult- Throws:
SQLException
-
getAsciiStream
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getAsciiStreamin interfaceResult- Throws:
SQLException
-
getBigDecimal
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getBigDecimalin interfaceResult- Throws:
SQLException
-
getBigInteger
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getBigIntegerin interfaceResult- Throws:
SQLException
-
getBinaryStream
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getBinaryStreamin interfaceResult- Throws:
SQLException
-
getLOBStream
- Specified by:
getLOBStreamin interfaceResult- Throws:
SQLException
-
getBlob
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getBlobin interfaceResult- Throws:
SQLException
-
getBoolean
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getBooleanin interfaceResult- Throws:
SQLException
-
getByte
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getBytein interfaceResult- Throws:
SQLException
-
getBytes
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getBytesin interfaceResult- Throws:
SQLException
-
getCalendar
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getCalendarin interfaceResult- Throws:
SQLException
-
getLocalDate
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getLocalDatein interfaceResult- Throws:
SQLException
-
getLocalTime
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getLocalTimein interfaceResult- Throws:
SQLException
-
getLocalDateTime
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getLocalDateTimein interfaceResult- Throws:
SQLException
-
getOffsetTime
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getOffsetTimein interfaceResult- Throws:
SQLException
-
getOffsetDateTime
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getOffsetDateTimein interfaceResult- Throws:
SQLException
-
getChar
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getCharin interfaceResult- Throws:
SQLException
-
getCharacterStream
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getCharacterStreamin interfaceResult- Throws:
SQLException
-
getClob
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getClobin interfaceResult- Throws:
SQLException
-
getDate
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getDatein interfaceResult- Throws:
SQLException
-
getDate
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getDatein interfaceResult- Throws:
SQLException
-
getDouble
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getDoublein interfaceResult- Throws:
SQLException
-
getFloat
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getFloatin interfaceResult- Throws:
SQLException
-
getInt
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getIntin interfaceResult- Throws:
SQLException
-
getLocale
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getLocalein interfaceResult- Throws:
SQLException
-
getLong
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getLongin interfaceResult- Throws:
SQLException
-
getNumber
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getNumberin interfaceResult- Throws:
SQLException
-
getObject
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getObjectin interfaceResult- Parameters:
obj- the column or id whose data to fetchmetaType- the type code fromJavaTypesorJavaSQLTypesfor the type of the data; ifobjis a column, you may specify -1 to use the column's recorded java typearg- some JDBC data access methods use an argument, such as aCalendarorMap- Throws:
SQLException
-
getSQLObject
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getSQLObjectin interfaceResult- Throws:
SQLException
-
getRef
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getRefin interfaceResult- Throws:
SQLException
-
getShort
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getShortin interfaceResult- Throws:
SQLException
-
getString
Description copied from interface:ResultReturn the value stored in the given column or id.- Specified by:
getStringin interfaceResult- Throws:
SQLException
-
getTime
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getTimein interfaceResult- Throws:
SQLException
-
getTimestamp
Description copied from interface:ResultReturn the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set.- Specified by:
getTimestampin interfaceResult- Throws:
SQLException
-
getArray
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getArrayin interfaceResult- Throws:
SQLException
-
getAsciiStream
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getAsciiStreamin interfaceResult- Throws:
SQLException
-
getBigDecimal
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getBigDecimalin interfaceResult- Throws:
SQLException
-
getBigInteger
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getBigIntegerin interfaceResult- Throws:
SQLException
-
getBinaryStream
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getBinaryStreamin interfaceResult- Throws:
SQLException
-
getBlob
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getBlobin interfaceResult- Throws:
SQLException
-
getBoolean
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getBooleanin interfaceResult- Throws:
SQLException
-
getByte
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getBytein interfaceResult- Throws:
SQLException
-
getBytes
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getBytesin interfaceResult- Throws:
SQLException
-
getCalendar
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getCalendarin interfaceResult- Throws:
SQLException
-
getChar
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getCharin interfaceResult- Throws:
SQLException
-
getCharacterStream
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getCharacterStreamin interfaceResult- Throws:
SQLException
-
getClob
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getClobin interfaceResult- Throws:
SQLException
-
getDate
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getDatein interfaceResult- Throws:
SQLException
-
getDate
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getDatein interfaceResult- Throws:
SQLException
-
getDouble
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getDoublein interfaceResult- Throws:
SQLException
-
getFloat
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getFloatin interfaceResult- Throws:
SQLException
-
getInt
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getIntin interfaceResult- Throws:
SQLException
-
getLocale
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getLocalein interfaceResult- Throws:
SQLException
-
getLong
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getLongin interfaceResult- Throws:
SQLException
-
getNumber
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getNumberin interfaceResult- Throws:
SQLException
-
getObject
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getObjectin interfaceResult- Parameters:
col- the column whose data to fetcharg- some JDBC data access methods use an argument, such as aCalendarorMap- Throws:
SQLException
-
getSQLObject
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getSQLObjectin interfaceResult- Throws:
SQLException
-
getRef
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getRefin interfaceResult- Throws:
SQLException
-
getShort
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getShortin interfaceResult- Throws:
SQLException
-
getString
Description copied from interface:ResultReturn the value stored in the given column.- Specified by:
getStringin interfaceResult- Throws:
SQLException
-
getTime
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getTimein interfaceResult- Throws:
SQLException
-
getTimestamp
Description copied from interface:ResultReturn the value stored in the given column; may not be supported by results that are not backed by a SQL result set.- Specified by:
getTimestampin interfaceResult- Throws:
SQLException
-
wasNull
Description copied from interface:ResultReturn true if the last value fetched was null.- Specified by:
wasNullin interfaceResult- Throws:
SQLException
-
startDataRequest
Description copied from interface:ResultInforms this receiver about the application element for which a subsequent data request will be made.- Specified by:
startDataRequestin interfaceResult
-
endDataRequest
public void endDataRequest()Description copied from interface:ResultEnds a data request. Must be called in conjunction withResult.startDataRequest(java.lang.Object). The calls can be nested as follws
startDataRequest (relation); startDataRequest (relationsField); getObject("COLUMN_Y"); endDataRequest (); endDataRequest ();- Specified by:
endDataRequestin interfaceResult
-