|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.persistence.AbstractQuery<X>
public abstract class AbstractQuery<X>
An abstract implementation of the Query interface.
Field Summary | |
---|---|
protected Map<Parameter<?>,Object> |
_boundParams
|
protected boolean |
_convertPositionalParams
|
protected Map<Object,Parameter<?>> |
_declaredParams
|
protected EntityManagerImpl |
_em
|
protected QueryMetaData |
_qmd
|
protected boolean |
_relaxBindParameterTypeChecking
|
Fields inherited from interface org.apache.openjpa.persistence.OpenJPAQuery |
---|
FLUSH_FALSE, FLUSH_TRUE, FLUSH_WITH_CONNECTION, HINT_RESULT_COUNT, OP_DELETE, OP_SELECT, OP_UPDATE |
Constructor Summary | |
---|---|
AbstractQuery(QueryMetaData qmd,
EntityManagerImpl em)
|
Method Summary | ||
---|---|---|
(package private) void |
assertBound(Parameter<?> param)
|
|
protected abstract void |
assertOpen()
|
|
(package private) Object |
assertValueAssignable(Parameter<?> param,
Object v)
Convert the given value to match the given parameter type, if possible. |
|
(package private) void |
bindValue(Parameter<?> param,
Object value)
Binds the given value to the given parameter. |
|
(package private) int |
calculateMaxKey(Set<Integer> p)
Calculate the maximum value of the given set. |
|
(package private) void |
clearBinding()
|
|
(package private) Object |
convertTemporalType(Calendar value,
TemporalType type)
|
|
(package private) Object |
convertTemporalType(Date value,
TemporalType type)
Converts the given Date to a value corresponding to given temporal type. |
|
void |
declareParameter(Object key,
Parameter<?> param)
Declares the given parameter for this query. |
|
Set<?> |
getBoundParameterKeys()
Gets the parameter keys bound with this query. |
|
Set<?> |
getDeclaredParameterKeys()
Gets the declared parameter keys in the given query. |
|
|
getDeclaredParameterKeys(Class<T> keyType)
|
|
Map<Object,Parameter<?>> |
getDeclaredParameters()
Gets the parameter instances declared in this query. |
|
Map<String,Object> |
getNamedParameters()
Gets the value of all the named parameters. |
|
Parameter<?> |
getParameter(int pos)
Get the positional parameter with the given position. |
|
|
getParameter(int pos,
Class<T> type)
Get the positional parameter with the given position and type. |
|
Parameter<?> |
getParameter(String name)
Get the parameter object corresponding to the declared parameter of the given name. |
|
|
getParameter(String name,
Class<T> type)
Get the parameter of the given name and type. |
|
Set<Parameter<?>> |
getParameters()
Gets the parameters declared in this query. |
|
Object |
getParameterValue(int pos)
Return the value bound to the parameter. |
|
|
getParameterValue(Parameter<T> p)
Return the value bound to the parameter. |
|
Object |
getParameterValue(String name)
Return the value bound to the parameter. |
|
(package private) Map<Object,Object> |
getParameterValues()
Gets a map of values of each parameter indexed by their original key. |
|
protected abstract OrderedMap<Object,Class<?>> |
getParamTypes()
|
|
Object[] |
getPositionalParameters()
Gets the array of positional parameter values. |
|
boolean |
getRelaxBindParameterTypeChecking()
Gets whether the type of user-supplied bind parameter value and the type of target persistent property they bind to are checked with strong or weak constraint. |
|
boolean |
hasPositionalParameters()
Affirms if declared parameters use position identifier. |
|
boolean |
isBound(Parameter<?> param)
Affirms if the given parameter is bound to a value for this query. |
|
boolean |
isNative()
|
|
protected abstract void |
lock()
|
|
OpenJPAQuery<X> |
setParameter(int position,
Calendar value,
TemporalType t)
Sets the value of the given positional parameter after conversion of the given value to the given Temporal Type. |
|
OpenJPAQuery<X> |
setParameter(int position,
Date value,
TemporalType type)
Sets the value of the given named parameter after conversion of the given value to the given Temporal Type. |
|
OpenJPAQuery<X> |
setParameter(int pos,
Object value)
Binds the parameter identified by the given position to the given value. |
|
TypedQuery<X> |
setParameter(Parameter<Calendar> p,
Calendar cal,
TemporalType type)
|
|
OpenJPAQuery<X> |
setParameter(Parameter<Date> p,
Date date,
TemporalType type)
|
|
|
setParameter(Parameter<T> p,
T arg1)
|
|
OpenJPAQuery<X> |
setParameter(String name,
Calendar value,
TemporalType type)
|
|
OpenJPAQuery<X> |
setParameter(String name,
Date value,
TemporalType type)
|
|
OpenJPAQuery<X> |
setParameter(String name,
Object value)
Sets the parameter of the given name to the given value. |
|
OpenJPAQuery<X> |
setParameters(Map params)
Sets the values of the parameters from the given Map. |
|
OpenJPAQuery<X> |
setParameters(Object... params)
Binds the given values as positional parameters. |
|
void |
setRelaxBindParameterTypeChecking(Object value)
Sets whether the type of user-supplied bind parameter value and the type of target persistent property they bind to are checked with strong or weak constraint. |
|
protected abstract void |
unlock()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.openjpa.persistence.OpenJPAQuerySPI |
---|
addAggregateListener, addFilterListener, removeAggregateListener, removeFilterListener |
Methods inherited from interface org.apache.openjpa.persistence.OpenJPAQuery |
---|
closeAll, compile, getCandidateCollection, getDataStoreActions, getEntityManager, getFetchPlan, getFirstResult, getFlushMode, getIgnoreChanges, getLanguage, getMaxResults, getOperation, getQueryString, getResultClass, getSupportedHints, hasSubclasses, setCandidateCollection, setFirstResult, setFlushMode, setHint, setIgnoreChanges, setMaxResults, setResultClass, setSubclasses |
Methods inherited from interface javax.persistence.TypedQuery |
---|
getResultList, getSingleResult, setLockMode |
Methods inherited from interface javax.persistence.Query |
---|
executeUpdate, getHints, getLockMode, unwrap |
Field Detail |
---|
protected boolean _relaxBindParameterTypeChecking
protected boolean _convertPositionalParams
protected final QueryMetaData _qmd
protected transient EntityManagerImpl _em
protected Map<Parameter<?>,Object> _boundParams
protected Map<Object,Parameter<?>> _declaredParams
Constructor Detail |
---|
public AbstractQuery(QueryMetaData qmd, EntityManagerImpl em)
Method Detail |
---|
Map<Object,Object> getParameterValues()
public boolean isNative()
protected abstract void assertOpen()
protected abstract void lock()
protected abstract void unlock()
protected abstract OrderedMap<Object,Class<?>> getParamTypes()
public OpenJPAQuery<X> setParameter(int pos, Object value)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
setParameter
in interface OpenJPAQuery<X>
position
- positive, integer position of the parametervalue
- an assignment compatible value
IllegalArgumentException
- if position does not correspond to a positional parameter of the query or if the argument is of
incorrect typepublic OpenJPAQuery<X> setParameter(int position, Calendar value, TemporalType t)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
setParameter
in interface OpenJPAQuery<X>
public OpenJPAQuery<X> setParameter(int position, Date value, TemporalType type)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
setParameter
in interface OpenJPAQuery<X>
Object convertTemporalType(Date value, TemporalType type)
Object convertTemporalType(Calendar value, TemporalType type)
public boolean hasPositionalParameters()
hasPositionalParameters
in interface OpenJPAQuery<X>
public Object[] getPositionalParameters()
getPositionalParameters
in interface OpenJPAQuery<X>
int calculateMaxKey(Set<Integer> p)
public OpenJPAQuery<X> setParameters(Object... params)
setParameters
in interface OpenJPAQuery<X>
void clearBinding()
public Map<String,Object> getNamedParameters()
getNamedParameters
in interface OpenJPAQuery<X>
public OpenJPAQuery<X> setParameters(Map params)
setParameters
in interface OpenJPAQuery<X>
public <T> Parameter<T> getParameter(String name, Class<T> type)
getParameter
in interface Query
IllegalArgumentException
- if the parameter of the specified name does not exist or is not assignable to the type
IllegalStateException
- if invoked on a native querypublic <T> Parameter<T> getParameter(int pos, Class<T> type)
getParameter
in interface Query
IllegalArgumentException
- if the parameter with the specified position does not exist or is not assignable to the type
IllegalStateException
- if invoked on a native query unless the same parameter position is bound already.public <T> T getParameterValue(Parameter<T> p)
getParameterValue
in interface Query
param
- parameter object
IllegalStateException
- if the parameter has not been been bound
IllegalArgumentException
- if the parameter does not belong to this querypublic Set<Parameter<?>> getParameters()
getParameters
in interface Query
public <T> OpenJPAQuery<X> setParameter(Parameter<T> p, T arg1)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
public OpenJPAQuery<X> setParameter(Parameter<Date> p, Date date, TemporalType type)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
public TypedQuery<X> setParameter(Parameter<Calendar> p, Calendar cal, TemporalType type)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
public Parameter<?> getParameter(String name)
getParameter
in interface Query
IllegalArgumentException
- if the parameter of the specified name does not exist
IllegalStateException
- if invoked on a native querypublic Parameter<?> getParameter(int pos)
getParameter
in interface Query
position
- specified in the user query.
IllegalArgumentException
- if the parameter with the given position does not existpublic Object getParameterValue(String name)
getParameterValue
in interface Query
name
- name of the parameter
IllegalStateException
- if this parameter has not been boundpublic Object getParameterValue(int pos)
getParameterValue
in interface Query
pos
- position of the parameter
IllegalStateException
- if this parameter has not been boundpublic Set<?> getBoundParameterKeys()
public Set<?> getDeclaredParameterKeys()
public <T> Set<T> getDeclaredParameterKeys(Class<T> keyType)
public Map<Object,Parameter<?>> getDeclaredParameters()
public void declareParameter(Object key, Parameter<?> param)
key
- this is the key to identify the parameter later in the context of this query. Valid key types are
Integer, String or ParameterExpression itself.the
- parameter instance to be declaredpublic boolean isBound(Parameter<?> param)
isBound
in interface Query
void assertBound(Parameter<?> param)
void bindValue(Parameter<?> param, Object value)
public OpenJPAQuery<X> setParameter(String name, Calendar value, TemporalType type)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
setParameter
in interface OpenJPAQuery<X>
public OpenJPAQuery<X> setParameter(String name, Date value, TemporalType type)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
setParameter
in interface OpenJPAQuery<X>
public OpenJPAQuery<X> setParameter(String name, Object value)
setParameter
in interface Query
setParameter
in interface TypedQuery<X>
setParameter
in interface OpenJPAQuery<X>
Object assertValueAssignable(Parameter<?> param, Object v)
param
- a query parameterv
- a user-supplied value for the parameterpublic boolean getRelaxBindParameterTypeChecking()
OpenJPAQuery
getRelaxBindParameterTypeChecking
in interface OpenJPAQuery<X>
public void setRelaxBindParameterTypeChecking(Object value)
OpenJPAQuery
hint
without puncturing standard
JPA API.
setRelaxBindParameterTypeChecking
in interface OpenJPAQuery<X>
value
- a String or Boolean value.Filters.canConvert(Class, Class, boolean)
,
Filters.convert(Object, Class, boolean)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |