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.Serializable
Holds 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 class
SaQueryInfo.CustomIndexState
Custom IndexState for instances where Query is made on non standard values of SYSINDEXSTATEstatic class
SaQueryInfo.IndexState
Index states of documents that can be included in a query-result.static class
SaQueryInfo.QueryCacheMode
Cache modes from hibernate.
-
Field Summary
Fields Modifier and Type Field Description static java.util.regex.Pattern
DDC_NAME_PATTERN
Pattern to match ddc-names.static java.lang.String
FOLDER_QUERY_PREFIX
folder query prefix.static java.lang.String
WORKFLOW_AUDIT_QUERY_PREFIX
workflow log query prefix.static java.lang.String
WORKFLOW_QUERY_PREFIX
workflow 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.QueryCacheMode
getCacheMode()
SaQueryInfo.CustomIndexState
getCustomIndexState()
java.lang.String
getDdcName()
Extracts the ddc name from the query string.int
getFetchSize()
int
getFirstResult()
java.util.EnumSet<SaQueryInfo.IndexState>
getIndexStates()
java.util.Map<java.lang.String,java.lang.String>
getJoinInfos()
int
getMaxResult()
java.util.Map<java.lang.String,java.lang.Object>
getParameters()
returns all parameters as a mapjava.lang.String
getQueryString()
Returns the query string.int
getTimeout()
boolean
hasFetchSize()
boolean
hasFirstResult()
boolean
hasMaxResult()
boolean
hasTimeout()
boolean
isCacheable()
boolean
isFolderQuery()
boolean
isWorkflowAuditQuery()
boolean
isWorkflowQuery()
void
setBigDecimal(java.lang.String name, java.math.BigDecimal value)
void
setBigInteger(java.lang.String name, java.math.BigInteger value)
void
setBinary(java.lang.String name, byte[] value)
void
setBoolean(java.lang.String name, boolean value)
void
setByte(java.lang.String name, byte value)
void
setCacheable(boolean cacheable)
void
setCacheMode(SaQueryInfo.QueryCacheMode newCacheMode)
void
setCalendar(java.lang.String name, java.util.Calendar value)
void
setCalendarDate(java.lang.String name, java.util.Calendar value)
void
setCharacter(java.lang.String name, char value)
void
setCustomIndexState(SaQueryInfo.CustomIndexState customIndexState)
Set CustomIndexState, which will have value and limit of fieldvoid
setDate(java.lang.String name, java.sql.Date value)
void
setDouble(java.lang.String name, double value)
void
setFetchSize(int value)
void
setFirstResult(int value)
void
setFloat(java.lang.String name, float value)
void
setIndexStates(java.util.EnumSet<SaQueryInfo.IndexState> indexStates)
Sets the index states of documents that will be included in the query result.void
setInteger(java.lang.String name, int value)
void
setLong(java.lang.String name, long value)
void
setMaxResults(int value)
void
setParameter(java.lang.String name, java.lang.Object value)
void
setParameterList(java.lang.String name, java.lang.Object[] value)
void
setParameterList(java.lang.String name, java.util.Collection<?> value)
void
setProperties(java.util.Map<? extends java.lang.String,? extends java.lang.Object> properties)
void
setQueryString(java.lang.String query)
void
setShort(java.lang.String name, short value)
void
setString(java.lang.String name, java.lang.String value)
void
setText(java.lang.String name, java.lang.String value)
void
setTime(java.lang.String name, java.sql.Date value)
void
setTimeout(int value)
void
setTimestamp(java.lang.String name, java.sql.Date value)
java.lang.String
toString()
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:
true
if it is a workflow specific query.
-
isWorkflowAuditQuery
public boolean isWorkflowAuditQuery()
- Returns:
true
if it is a workflow audit specific query.
-
isFolderQuery
public boolean isFolderQuery()
- Returns:
true
if it is a folder specific query.
-
isCacheable
public boolean isCacheable()
- Returns:
true
if the query could be cached.
-
setCacheable
public void setCacheable(boolean cacheable)
- Parameters:
cacheable
-true
if 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.REVISED
andSaQueryInfo.IndexState.DELETED
can 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:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-
-