Package org.apache.openjpa.jdbc.kernel
Class PreparedQueryImpl
- java.lang.Object
-
- org.apache.openjpa.jdbc.kernel.PreparedQueryImpl
-
- All Implemented Interfaces:
PreparedQuery
public class PreparedQueryImpl extends Object implements PreparedQuery
ImplementsPreparedQuery
for SQL queries. PreparedQuery holds the post-compilation and post-execution state of a kernel Query. The post-execution internal state of a query is appended as a user object to the user-visible result to maintain the API contract.- Author:
- Pinaki Poddar
-
-
Constructor Summary
Constructors Constructor Description PreparedQueryImpl(String id, String sql, Query compiled)
Construct.PreparedQueryImpl(String id, Query compiled)
Construct.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getIdentifier()
Get the immutable identifier of this receiver used for *cache
.String
getLanguage()
Gets the language in which this query is expressed.String
getOriginalQuery()
Get the original query string which is same as the identifier of this receiver.Class[]
getProjectionTypes()
QueryExpressions[]
getQueryExpressions()
String
getTargetQuery()
Get the target database query.PreparedQueryCache.Exclusion
initialize(Object result)
Initialize this receiver with post-execution result.boolean
isInitialized()
Affirms if this receiver has been initialized.Map<Integer,Object>
reparametrize(Map user, Broker broker)
Merge the given user parameters with its own parameter.void
setInto(Query q)
Pours the post-compilation state held by this receiver to the given query.String
toString()
-
-
-
Method Detail
-
getIdentifier
public String getIdentifier()
Description copied from interface:PreparedQuery
Get the immutable identifier of this receiver used for *cache
.- Specified by:
getIdentifier
in interfacePreparedQuery
-
getLanguage
public String getLanguage()
Description copied from interface:PreparedQuery
Gets the language in which this query is expressed.- Specified by:
getLanguage
in interfacePreparedQuery
-
getOriginalQuery
public String getOriginalQuery()
Get the original query string which is same as the identifier of this receiver.- Specified by:
getOriginalQuery
in interfacePreparedQuery
-
getTargetQuery
public String getTargetQuery()
Description copied from interface:PreparedQuery
Get the target database query.- Specified by:
getTargetQuery
in interfacePreparedQuery
-
isInitialized
public boolean isInitialized()
Description copied from interface:PreparedQuery
Affirms if this receiver has been initialized.- Specified by:
isInitialized
in interfacePreparedQuery
-
getQueryExpressions
public QueryExpressions[] getQueryExpressions()
-
getProjectionTypes
public Class[] getProjectionTypes()
-
setInto
public void setInto(Query q)
Pours the post-compilation state held by this receiver to the given query.- Specified by:
setInto
in interfacePreparedQuery
- Parameters:
q
- A Query which has been substituted by this receiver and hence does not have its post-compilation state.
-
initialize
public PreparedQueryCache.Exclusion initialize(Object result)
Initialize this receiver with post-execution result. The input argument is processed only if it is aResultList
with an attachedSelectResultObjectProvider
as itsuser object
.- Specified by:
initialize
in interfacePreparedQuery
- Parameters:
result
- an opaque instance supposed to carry post-execution data such as target database query, parameters of the query etc.- Returns:
- an exclusion if can not be initialized for some reason. null if initialization is successful.
-
reparametrize
public Map<Integer,Object> reparametrize(Map user, Broker broker)
Merge the given user parameters with its own parameter. The given map must be compatible with the user parameters extracted duringinitialization
.- Specified by:
reparametrize
in interfacePreparedQuery
- Parameters:
user
- the map of parameter key and value set by the user on the original query.- Returns:
- 0-based parameter index mapped to corresponding values.
-
-