Package com.saperion.rmi
Class SaQueryInfo
- java.lang.Object
-
- com.saperion.rmi.SaQueryInfo
-
- All Implemented Interfaces:
java.io.Serializable
public class SaQueryInfo extends java.lang.Object implements java.io.SerializableHolds the information about a hibernate sql query.
The query string and the parameter can be set here to perform a database query against the backend.
See the searchHql method in the SaClassicConnector interface.- Author:
- rbo
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSaQueryInfo.CustomIndexStateCustom IndexState for instances where Query is made on non standard values of SYSINDEXSTATEstatic classSaQueryInfo.IndexStateIndex states of documents that can be included in a query-result.static classSaQueryInfo.QueryCacheModeCache modes from hibernate.
-
Field Summary
Fields Modifier and Type Field Description static java.util.regex.PatternDDC_NAME_PATTERNPattern to match ddc-names.static java.lang.StringFOLDER_QUERY_PREFIXfolder query prefix.static java.lang.StringWORKFLOW_AUDIT_QUERY_PREFIXworkflow log query prefix.static java.lang.StringWORKFLOW_QUERY_PREFIXworkflow query prefix.
-
Constructor Summary
Constructors Constructor Description SaQueryInfo(java.lang.String query)Constructor.SaQueryInfo(java.lang.String query, java.util.Map<java.lang.String,java.lang.Object> params)Constructor.SaQueryInfo(java.lang.String query, java.util.Map<java.lang.String,java.lang.Object> params, java.util.Map<java.lang.String,java.lang.String> joinInfos)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SaQueryInfo.QueryCacheModegetCacheMode()SaQueryInfo.CustomIndexStategetCustomIndexState()java.lang.StringgetDdcName()Extracts the ddc name from the query string.intgetFetchSize()intgetFirstResult()java.util.EnumSet<SaQueryInfo.IndexState>getIndexStates()java.util.Map<java.lang.String,java.lang.String>getJoinInfos()intgetMaxResult()java.util.Map<java.lang.String,java.lang.Object>getParameters()returns all parameters as a mapjava.lang.StringgetQueryString()Returns the query string.intgetTimeout()booleanhasFetchSize()booleanhasFirstResult()booleanhasMaxResult()booleanhasTimeout()booleanisCacheable()booleanisFolderQuery()booleanisWorkflowAuditQuery()booleanisWorkflowQuery()voidsetBigDecimal(java.lang.String name, java.math.BigDecimal value)voidsetBigInteger(java.lang.String name, java.math.BigInteger value)voidsetBinary(java.lang.String name, byte[] value)voidsetBoolean(java.lang.String name, boolean value)voidsetByte(java.lang.String name, byte value)voidsetCacheable(boolean cacheable)voidsetCacheMode(SaQueryInfo.QueryCacheMode newCacheMode)voidsetCalendar(java.lang.String name, java.util.Calendar value)voidsetCalendarDate(java.lang.String name, java.util.Calendar value)voidsetCharacter(java.lang.String name, char value)voidsetCustomIndexState(SaQueryInfo.CustomIndexState customIndexState)Set CustomIndexState, which will have value and limit of fieldvoidsetDate(java.lang.String name, java.sql.Date value)voidsetDouble(java.lang.String name, double value)voidsetFetchSize(int value)voidsetFirstResult(int value)voidsetFloat(java.lang.String name, float value)voidsetIndexStates(java.util.EnumSet<SaQueryInfo.IndexState> indexStates)Sets the index states of documents that will be included in the query result.voidsetInteger(java.lang.String name, int value)voidsetLong(java.lang.String name, long value)voidsetMaxResults(int value)voidsetParameter(java.lang.String name, java.lang.Object value)voidsetParameterList(java.lang.String name, java.lang.Object[] value)voidsetParameterList(java.lang.String name, java.util.Collection<?> value)voidsetProperties(java.util.Map<? extends java.lang.String,? extends java.lang.Object> properties)voidsetQueryString(java.lang.String query)voidsetShort(java.lang.String name, short value)voidsetString(java.lang.String name, java.lang.String value)voidsetText(java.lang.String name, java.lang.String value)voidsetTime(java.lang.String name, java.sql.Date value)voidsetTimeout(int value)voidsetTimestamp(java.lang.String name, java.sql.Date value)java.lang.StringtoString()puts together the query string, that consists of the Query, FetchSize, FirstResult, MaxResult, TimeOut and the set parameters.
-
-
-
Field Detail
-
WORKFLOW_QUERY_PREFIX
public static final java.lang.String WORKFLOW_QUERY_PREFIX
workflow query prefix.- See Also:
- Constant Field Values
-
WORKFLOW_AUDIT_QUERY_PREFIX
public static final java.lang.String WORKFLOW_AUDIT_QUERY_PREFIX
workflow log query prefix.- See Also:
- Constant Field Values
-
FOLDER_QUERY_PREFIX
public static final java.lang.String FOLDER_QUERY_PREFIX
folder query prefix.- See Also:
- Constant Field Values
-
DDC_NAME_PATTERN
public static final java.util.regex.Pattern DDC_NAME_PATTERN
Pattern to match ddc-names.
-
-
Constructor Detail
-
SaQueryInfo
public SaQueryInfo(java.lang.String query)
Constructor.- Parameters:
query- Query string
-
SaQueryInfo
public SaQueryInfo(java.lang.String query, java.util.Map<java.lang.String,java.lang.Object> params)Constructor.- Parameters:
query- Query stringparams- Typed parameters with identifiers used in the query string
-
SaQueryInfo
public SaQueryInfo(java.lang.String query, java.util.Map<java.lang.String,java.lang.Object> params, java.util.Map<java.lang.String,java.lang.String> joinInfos)Constructor.- Parameters:
query- Query stringparams- Typed parameters with identifiers used in the query stringjoinInfos- Used to join one or more other tables. To be used only in methods that use this SaQueryInfo as a filter and not as a standalone query. Example: To join a multivalue table, put a pair like 'f.MULTIVAL', 'multival' where f is the identifier of the table to query, MULTIVAL is the name of the multivalue property and multival is the identifier of the joined table.
-
-
Method Detail
-
getQueryString
public java.lang.String getQueryString()
Returns the query string.- Returns:
- the query string
- See Also:
org.hibernate.query.Query#getQueryString()
-
setQueryString
public void setQueryString(java.lang.String query)
- Parameters:
query- Query string
-
getParameters
public java.util.Map<java.lang.String,java.lang.Object> getParameters()
returns all parameters as a map- Returns:
- Parameter map
-
getJoinInfos
public java.util.Map<java.lang.String,java.lang.String> getJoinInfos()
- Returns:
- the join infos
- See Also:
SaQueryInfo(String, Map, Map)
-
setBigDecimal
public void setBigDecimal(java.lang.String name, java.math.BigDecimal value)- See Also:
org.hibernate.query.Query#setBigDecimal(java.lang.String, java.math.BigDecimal)
-
setBigInteger
public void setBigInteger(java.lang.String name, java.math.BigInteger value)- See Also:
org.hibernate.query.Query#setBigInteger(java.lang.String, java.math.BigInteger)
-
setBinary
public void setBinary(java.lang.String name, byte[] value)- See Also:
org.hibernate.query.Query#setBinary(java.lang.String, byte[])
-
setBoolean
public void setBoolean(java.lang.String name, boolean value)- See Also:
org.hibernate.query.Query#setBoolean(java.lang.String, boolean)
-
setByte
public void setByte(java.lang.String name, byte value)- See Also:
org.hibernate.query.Query#setByte(java.lang.String, byte)
-
setCalendar
public void setCalendar(java.lang.String name, java.util.Calendar value)- See Also:
org.hibernate.query.Query#setCalendar(java.lang.String, java.util.Calendar)
-
setCalendarDate
public void setCalendarDate(java.lang.String name, java.util.Calendar value)- See Also:
org.hibernate.query.Query#setCalendarDate(java.lang.String, java.util.Calendar)
-
setCharacter
public void setCharacter(java.lang.String name, char value)- See Also:
org.hibernate.query.Query#setCharacter(java.lang.String, char)
-
setDate
public void setDate(java.lang.String name, java.sql.Date value)- See Also:
org.hibernate.query.Query#setDate(java.lang.String, java.util.Date)
-
setDouble
public void setDouble(java.lang.String name, double value)- See Also:
org.hibernate.query.Query#setDouble(java.lang.String, double)
-
setFetchSize
public void setFetchSize(int value)
- See Also:
org.hibernate.query.Query#setFetchSize(int)
-
hasFetchSize
public boolean hasFetchSize()
- Returns:
- Has fetchsize
-
getFetchSize
public int getFetchSize()
- Returns:
- Fetchsize
-
setFirstResult
public void setFirstResult(int value)
- See Also:
org.hibernate.query.Query#setFirstResult(int)
-
hasFirstResult
public boolean hasFirstResult()
- Returns:
- Has first result
-
getFirstResult
public int getFirstResult()
- Returns:
- First result
-
setFloat
public void setFloat(java.lang.String name, float value)- See Also:
org.hibernate.query.Query#setFloat(java.lang.String, float)
-
setInteger
public void setInteger(java.lang.String name, int value)- See Also:
org.hibernate.query.Query#setInteger(java.lang.String, int)
-
setLong
public void setLong(java.lang.String name, long value)- See Also:
org.hibernate.query.Query#setLong(java.lang.String, long)
-
setMaxResults
public void setMaxResults(int value)
- See Also:
org.hibernate.query.Query#setMaxResults(int)
-
hasMaxResult
public boolean hasMaxResult()
- Returns:
- Has max result
-
getMaxResult
public int getMaxResult()
- Returns:
- Max result
-
setParameter
public void setParameter(java.lang.String name, java.lang.Object value)- See Also:
org.hibernate.query.Query#setParameter(java.lang.String, java.lang.Object)
-
setParameterList
public void setParameterList(java.lang.String name, java.util.Collection<?> value)- See Also:
org.hibernate.query.Query#setParameterList(java.lang.String, java.util.Collection)
-
setParameterList
public void setParameterList(java.lang.String name, java.lang.Object[] value)- See Also:
org.hibernate.query.Query#setParameterList(java.lang.String, java.lang.Object[])
-
setProperties
public void setProperties(java.util.Map<? extends java.lang.String,? extends java.lang.Object> properties)
- See Also:
org.hibernate.query.Query#setProperties(java.util.Map)
-
setShort
public void setShort(java.lang.String name, short value)- See Also:
org.hibernate.query.Query#setShort(java.lang.String, short)
-
setString
public void setString(java.lang.String name, java.lang.String value)- See Also:
org.hibernate.query.Query#setString(java.lang.String, java.lang.String)
-
setText
public void setText(java.lang.String name, java.lang.String value)- See Also:
org.hibernate.query.Query#setText(java.lang.String, java.lang.String)
-
setTime
public void setTime(java.lang.String name, java.sql.Date value)- See Also:
org.hibernate.query.Query#setTime(java.lang.String, java.util.Date)
-
setTimeout
public void setTimeout(int value)
- See Also:
org.hibernate.query.Query#setTimeout(int)
-
hasTimeout
public boolean hasTimeout()
- Returns:
- Has timeout
-
getTimeout
public int getTimeout()
- Returns:
- Timeout
-
setTimestamp
public void setTimestamp(java.lang.String name, java.sql.Date value)- See Also:
org.hibernate.query.Query#setTimestamp(java.lang.String, java.util.Date)
-
getDdcName
public java.lang.String getDdcName()
Extracts the ddc name from the query string.- Returns:
- ddc name
-
isWorkflowQuery
public boolean isWorkflowQuery()
- Returns:
trueif it is a workflow specific query.
-
isWorkflowAuditQuery
public boolean isWorkflowAuditQuery()
- Returns:
trueif it is a workflow audit specific query.
-
isFolderQuery
public boolean isFolderQuery()
- Returns:
trueif it is a folder specific query.
-
isCacheable
public boolean isCacheable()
- Returns:
trueif the query could be cached.
-
setCacheable
public void setCacheable(boolean cacheable)
- Parameters:
cacheable-trueif the query should be tried to cache.
-
getCacheMode
public SaQueryInfo.QueryCacheMode getCacheMode()
- Returns:
- Returns how the Query should be cached, if isCacheable returns true.
-
setCacheMode
public void setCacheMode(SaQueryInfo.QueryCacheMode newCacheMode)
- Parameters:
newCacheMode- The CacheMode which should be used, if the Query is cacheable.
-
setIndexStates
public void setIndexStates(java.util.EnumSet<SaQueryInfo.IndexState> indexStates)
Sets the index states of documents that will be included in the query result. By default, the query will return documents with index stateSaQueryInfo.IndexState.NORMAL. Note thatSaQueryInfo.IndexState.REVISEDandSaQueryInfo.IndexState.DELETEDcan only be included if the DDC includes the required system fields (SYSINDEXSTATE forSaQueryInfo.IndexState.DELETED, SYSREVCOMMENT, SYSREVDATETIME, SYSREVVERSION and SYSREVREASON forSaQueryInfo.IndexState.REVISED).- Parameters:
indexStates- index states to include. If null or empty, the query will return documents with index stateSaQueryInfo.IndexState.NORMAL.
-
getIndexStates
public java.util.EnumSet<SaQueryInfo.IndexState> getIndexStates()
- Returns:
- index states of documents that will be included in the query result
-
getCustomIndexState
public SaQueryInfo.CustomIndexState getCustomIndexState()
- Returns:
- CustomIndexState, which will have value and limit of field
-
setCustomIndexState
public void setCustomIndexState(SaQueryInfo.CustomIndexState customIndexState)
Set CustomIndexState, which will have value and limit of field
-
toString
public java.lang.String toString()
puts together the query string, that consists of the Query, FetchSize, FirstResult, MaxResult, TimeOut and the set parameters.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
-