Class XWikiCacheStore
- java.lang.Object
-
- com.xpn.xwiki.internal.store.AbstractXWikiStore
-
- com.xpn.xwiki.store.XWikiCacheStore
-
- All Implemented Interfaces:
XWikiCacheStoreInterface,XWikiStoreInterface,org.xwiki.component.phase.Initializable,org.xwiki.observation.EventListener
@Component(roles=XWikiStoreInterface.class) @Named("cache") @InstantiationStrategy(PER_LOOKUP) public class XWikiCacheStore extends com.xpn.xwiki.internal.store.AbstractXWikiStore implements XWikiCacheStoreInterface, org.xwiki.observation.EventListener, org.xwiki.component.phase.Initializable
A proxy store implementation that caches Documents when they are first fetched and subsequently return them from a cache. It delegates all write and search operations to an underlying store without doing any caching on them.- Version:
- $Id: d0004aa4b88e9330c7cea00039ead46f11f13388 $
-
-
Constructor Summary
Constructors Constructor Description XWikiCacheStore()Default constructor generally used by the Component Manager.XWikiCacheStore(XWikiStoreInterface store, XWikiContext context)Deprecated.since 10.2 and 9.11.4, should be used as a component instead
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcleanUp(XWikiContext context)intcountDocuments(String wheresql, XWikiContext context)API allowing to count the total number of documents that would be returned by a query.intcountDocuments(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context)API allowing to count the total number of documents that would be returned by a parameterized query.voidcreateWiki(String wikiName, XWikiContext context)Allows to create a new wiki database and initialize the default tables.voiddeleteLinks(long docId, XWikiContext context, boolean bTransaction)Deprecated.voiddeleteLock(XWikiLock lock, XWikiContext context, boolean bTransaction)voiddeleteWiki(String wikiName, XWikiContext context)Delete a wiki database.voiddeleteXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext)booleanexists(XWikiDocument doc, XWikiContext inputxcontext)voidflushCache()org.xwiki.cache.Cache<XWikiDocument>getCache()List<String>getClassList(XWikiContext context)List<String>getCustomMappingPropertyList(BaseClass bclass)List<Event>getEvents()StringgetKey(XWikiDocument doc)Deprecated.since 4.0M1, useXWikiDocument.getKey()StringgetKey(XWikiDocument doc, XWikiContext context)StringgetKey(String fullName, String language, XWikiContext context)Deprecated.since 4.0M1, useXWikiDocument.getKey()StringgetKey(String wiki, String fullName, String language)Deprecated.since 4.0M1, useXWikiDocument.getKey()intgetLimitSize(XWikiContext context, Class<?> entityType, String propertyName)Get the limit size of a property.org.xwiki.cache.Cache<Integer>getLimitSizePropertyCache()StringgetName()org.xwiki.cache.Cache<Boolean>getPageExistCache()QueryManagergetQueryManager()XWikiStoreInterfacegetStore()List<String>getTranslationList(XWikiDocument doc, XWikiContext context)voidinitCache(int capacity, int pageExistCacheCapacity, XWikiContext context)Deprecated.voidinitCache(XWikiContext context)Deprecated.voidinitialize()booleaninjectCustomMapping(BaseClass doc1class, XWikiContext context)booleaninjectCustomMappings(XWikiDocument doc, XWikiContext context)voidinjectCustomMappings(XWikiContext context)voidinjectUpdatedCustomMappings(XWikiContext context)voidinvalidate(XWikiDocument document)booleanisCustomMappingValid(BaseClass bclass, String custommapping1, XWikiContext context)booleanisWikiNameAvailable(String wikiName, XWikiContext context)Indicate if the provided wiki name could be used to create a new wiki.List<String>loadBacklinks(String fullName, XWikiContext context, boolean bTransaction)Deprecated.List<DocumentReference>loadBacklinks(AttachmentReference attachmentReference, boolean bTransaction, XWikiContext context)Deprecated.List<DocumentReference>loadBacklinks(DocumentReference documentReference, boolean bTransaction, XWikiContext context)Deprecated.List<XWikiLink>loadLinks(long docId, XWikiContext context, boolean bTransaction)Deprecated.XWikiLockloadLock(long docId, XWikiContext context, boolean bTransaction)XWikiDocumentloadXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext)voidonEvent(Event event, Object source, Object data)voidrenameXWikiDoc(XWikiDocument doc, DocumentReference newReference, XWikiContext inputxcontext)Atomic operation for renaming a document.voidsaveLinks(XWikiDocument doc, XWikiContext context, boolean bTransaction)Deprecated.voidsaveLock(XWikiLock lock, XWikiContext context, boolean bTransaction)voidsaveXWikiDoc(XWikiDocument doc, XWikiContext context)voidsaveXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext, boolean bTransaction)<T> List<T>search(String sql, int nb, int start, XWikiContext context)Execute a reading request and return result.<T> List<T>search(String sql, int nb, int start, Object[][] whereParams, XWikiContext context)Execute a reading request and return result.<T> List<T>search(String sql, int nb, int start, Object[][] whereParams, List<?> parameterValues, XWikiContext context)Execute a reading request with parameters and return result.<T> List<T>search(String sql, int nb, int start, List<?> parameterValues, XWikiContext context)Execute a reading request with parameters and return result.List<DocumentReference>searchDocumentReferences(String wheresql, int nb, int start, XWikiContext context)List<DocumentReference>searchDocumentReferences(String wheresql, int nb, int start, String selectColumns, XWikiContext context)List<DocumentReference>searchDocumentReferences(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents by passing HQL where clause values as parameters.List<DocumentReference>searchDocumentReferences(String wheresql, XWikiContext context)List<DocumentReference>searchDocumentReferences(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context)Same asXWikiStoreInterface.searchDocumentReferences(String, int, int, List, XWikiContext)but returns all rows.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbyname, boolean customMapping, boolean checkRight, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, boolean checkRight, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbyname, boolean customMapping, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbyname, boolean customMapping, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbyname, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbyname, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<String>searchDocumentsNames(String wheresql, int nb, int start, XWikiContext context)List<String>searchDocumentsNames(String wheresql, int nb, int start, String selectColumns, XWikiContext context)List<String>searchDocumentsNames(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context)List<String>searchDocumentsNames(String wheresql, XWikiContext context)List<String>searchDocumentsNames(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context)voidsetCache(org.xwiki.cache.Cache<XWikiDocument> cache)voidsetPageExistCache(org.xwiki.cache.Cache<Boolean> pageExistCache)voidsetStore(XWikiStoreInterface store)-
Methods inherited from class com.xpn.xwiki.internal.store.AbstractXWikiStore
getExecutionXContext, restoreExecutionXContext
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.xpn.xwiki.store.XWikiStoreInterface
injectCustomMapping, isCustomMappingValid
-
-
-
-
Constructor Detail
-
XWikiCacheStore
public XWikiCacheStore()
Default constructor generally used by the Component Manager.
-
XWikiCacheStore
public XWikiCacheStore(XWikiStoreInterface store, XWikiContext context) throws XWikiException
Deprecated.since 10.2 and 9.11.4, should be used as a component instead- Throws:
XWikiException
-
-
Method Detail
-
initialize
public void initialize() throws org.xwiki.component.phase.InitializationException- Specified by:
initializein interfaceorg.xwiki.component.phase.Initializable- Throws:
org.xwiki.component.phase.InitializationException
-
getName
public String getName()
- Specified by:
getNamein interfaceorg.xwiki.observation.EventListener
-
getEvents
public List<Event> getEvents()
- Specified by:
getEventsin interfaceorg.xwiki.observation.EventListener
-
initCache
@Deprecated public void initCache(XWikiContext context) throws XWikiException
Deprecated.- Throws:
XWikiException
-
initCache
@Deprecated public void initCache(int capacity, int pageExistCacheCapacity, XWikiContext context) throws XWikiException
Deprecated.- Specified by:
initCachein interfaceXWikiCacheStoreInterface- Throws:
XWikiException
-
getStore
public XWikiStoreInterface getStore()
- Specified by:
getStorein interfaceXWikiCacheStoreInterface
-
setStore
public void setStore(XWikiStoreInterface store)
- Specified by:
setStorein interfaceXWikiCacheStoreInterface
-
saveXWikiDoc
public void saveXWikiDoc(XWikiDocument doc, XWikiContext context) throws XWikiException
- Specified by:
saveXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
renameXWikiDoc
public void renameXWikiDoc(XWikiDocument doc, DocumentReference newReference, XWikiContext inputxcontext) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAtomic operation for renaming a document. This operation will rename the document in DB by performing updates in all tables the document name is used.- Specified by:
renameXWikiDocin interfaceXWikiStoreInterface- Parameters:
doc- the actual document instance to rename.newReference- the new reference to use for renaming.inputxcontext- the current context.- Throws:
XWikiException- in case of problem during the rename.
-
saveXWikiDoc
public void saveXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
- Specified by:
saveXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
flushCache
public void flushCache()
- Specified by:
flushCachein interfaceXWikiCacheStoreInterface
-
onEvent
public void onEvent(Event event, Object source, Object data)
- Specified by:
onEventin interfaceorg.xwiki.observation.EventListener
-
invalidate
@Unstable public void invalidate(XWikiDocument document)
- Parameters:
document- the reference of the document to remove from the cache- Since:
- 15.3RC1, 14.10.8
-
getKey
@Deprecated public String getKey(XWikiDocument doc)
Deprecated.since 4.0M1, useXWikiDocument.getKey()
-
getKey
public String getKey(XWikiDocument doc, XWikiContext context)
-
getKey
@Deprecated public String getKey(String fullName, String language, XWikiContext context)
Deprecated.since 4.0M1, useXWikiDocument.getKey()
-
getKey
@Deprecated public String getKey(String wiki, String fullName, String language)
Deprecated.since 4.0M1, useXWikiDocument.getKey()
-
loadXWikiDoc
public XWikiDocument loadXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext) throws XWikiException
- Specified by:
loadXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
deleteXWikiDoc
public void deleteXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext) throws XWikiException
- Specified by:
deleteXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getClassList
public List<String> getClassList(XWikiContext context) throws XWikiException
- Specified by:
getClassListin interfaceXWikiStoreInterface- Throws:
XWikiException
-
countDocuments
public int countDocuments(String wheresql, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAPI allowing to count the total number of documents that would be returned by a query.- Specified by:
countDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- Query to use, similar to the ones accepted byXWikiStoreInterface.searchDocuments(String, XWikiContext). It should not containorder byorgroupclauses, since this kind of queries are not portable.context- The current request context.- Returns:
- The number of documents that matched the query.
- Throws:
XWikiException- if there was a problem executing the query.
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String wheresql, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentsNames
public List<String> searchDocumentsNames(String wheresql, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String wheresql, int nb, int start, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentsNames
public List<String> searchDocumentsNames(String wheresql, int nb, int start, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String wheresql, int nb, int start, String selectColumns, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentsNames
public List<String> searchDocumentsNames(String wheresql, int nb, int start, String selectColumns, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escaping yourself before calling them.Example:
#set($orphans = $xwiki.searchDocuments(" where doc.fullName <> ?1 and (doc.parent = ?2 or " + "(doc.parent = ?3 and doc.space = ?4))", ["${doc.fullName}as", ${doc.fullName}, ${doc.name}, ${doc.space}]))- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Parameters:
parametrizedSqlClause- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returnedstart- the number of rows to skip. If 0 don't skip any rowparameterValues- the where clause values that replace the question marks (?)context- the XWiki context required for getting information about the execution context- Returns:
- a list of document references
- Throws:
XWikiException- in case of error while performing the query
-
searchDocumentsNames
public List<String> searchDocumentsNames(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSame asXWikiStoreInterface.searchDocumentReferences(String, int, int, List, XWikiContext)but returns all rows.- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException- See Also:
XWikiStoreInterface.searchDocumentReferences(String, int, int, java.util.List, com.xpn.xwiki.XWikiContext)
-
searchDocumentsNames
public List<String> searchDocumentsNames(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
isCustomMappingValid
public boolean isCustomMappingValid(BaseClass bclass, String custommapping1, XWikiContext context) throws XWikiException
- Specified by:
isCustomMappingValidin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectCustomMapping
public boolean injectCustomMapping(BaseClass doc1class, XWikiContext context) throws XWikiException
- Specified by:
injectCustomMappingin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectCustomMappings
public boolean injectCustomMappings(XWikiDocument doc, XWikiContext context) throws XWikiException
- Specified by:
injectCustomMappingsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbyname, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbyname- when a document has multiple version for each language it is returned as one document a language.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbyname, boolean customMapping, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbyname- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbyname, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbyname- when a document has multiple version for each language it is returned as one document a language.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbyname, boolean customMapping, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbyname- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbyname, boolean customMapping, boolean checkRight, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbyname- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.checkRight- if true check for each found document if context's user has "view" rights for it.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, boolean checkRight, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.checkRight- if true check for each found document if context's user has "view" rights for it.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
countDocuments
public int countDocuments(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAPI allowing to count the total number of documents that would be returned by a parameterized query.- Specified by:
countDocumentsin interfaceXWikiStoreInterface- Parameters:
parametrizedSqlClause- Parameterized query to use, similar to the ones accepted byXWikiStoreInterface.searchDocuments(String, List, XWikiContext). It should not containorder byorgroupclauses, since this kind of queries are not portable.parameterValues- The parameter values that replace the question marks.context- The current request context.- Returns:
- The number of documents that matched the query.
- Throws:
XWikiException- if there was a problem executing the query.
-
loadLock
public XWikiLock loadLock(long docId, XWikiContext context, boolean bTransaction) throws XWikiException
- Specified by:
loadLockin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveLock
public void saveLock(XWikiLock lock, XWikiContext context, boolean bTransaction) throws XWikiException
- Specified by:
saveLockin interfaceXWikiStoreInterface- Throws:
XWikiException
-
deleteLock
public void deleteLock(XWikiLock lock, XWikiContext context, boolean bTransaction) throws XWikiException
- Specified by:
deleteLockin interfaceXWikiStoreInterface- Throws:
XWikiException
-
loadLinks
@Deprecated(since="14.8RC1") public List<XWikiLink> loadLinks(long docId, XWikiContext context, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
loadLinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
loadBacklinks
@Deprecated(since="14.8RC1") public List<DocumentReference> loadBacklinks(DocumentReference documentReference, boolean bTransaction, XWikiContext context) throws XWikiException
Deprecated.Description copied from interface:XWikiStoreInterfaceReturns the backlinks for the given document reference.- Specified by:
loadBacklinksin interfaceXWikiStoreInterface- Parameters:
documentReference- the document reference to search backlinks forbTransaction-trueif a transaction must be createcontext- the current context- Throws:
XWikiException
-
loadBacklinks
@Deprecated(since="14.8RC1") public List<DocumentReference> loadBacklinks(AttachmentReference attachmentReference, boolean bTransaction, XWikiContext context) throws XWikiException
Deprecated.Description copied from interface:XWikiStoreInterfaceReturns the backlinks for the given attachment reference.- Specified by:
loadBacklinksin interfaceXWikiStoreInterface- Parameters:
attachmentReference- the attachment reference to search backlinks forbTransaction-trueif a transaction must be createcontext- the current context- Throws:
XWikiException
-
loadBacklinks
@Deprecated(since="2.2M2") public List<String> loadBacklinks(String fullName, XWikiContext context, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
loadBacklinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveLinks
@Deprecated(since="14.8RC1") public void saveLinks(XWikiDocument doc, XWikiContext context, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
saveLinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
deleteLinks
@Deprecated(since="14.8RC1") public void deleteLinks(long docId, XWikiContext context, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
deleteLinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
search
public <T> List<T> search(String sql, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request and return result.- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public <T> List<T> search(String sql, int nb, int start, Object[][] whereParams, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request and return result.- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.whereParams- if not null add tosqla where clause based on a table of table containing field name, field value and compared symbol (=,>, etc.).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public <T> List<T> search(String sql, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request with parameters and return result.Execute query by passing HQL request values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escaping yourself before calling them.
- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public <T> List<T> search(String sql, int nb, int start, Object[][] whereParams, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request with parameters and return result.Execute query by passing HQL request values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escaping yourself before calling them.
- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.whereParams- if not null add tosqla where clause based on a table of table containing field name, field value and compared symbol (=,>, etc.).parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
cleanUp
public void cleanUp(XWikiContext context)
- Specified by:
cleanUpin interfaceXWikiStoreInterface
-
isWikiNameAvailable
public boolean isWikiNameAvailable(String wikiName, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceIndicate if the provided wiki name could be used to create a new wiki.- Specified by:
isWikiNameAvailablein interfaceXWikiStoreInterface- Parameters:
wikiName- the name of the wiki.context- the XWiki context.- Returns:
- true if the name is already used, false otherwise.
- Throws:
XWikiException- error when looking if wiki name already used.
-
createWiki
public void createWiki(String wikiName, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAllows to create a new wiki database and initialize the default tables.- Specified by:
createWikiin interfaceXWikiStoreInterface- Parameters:
wikiName- the name of the new wiki.context- the XWiki context.- Throws:
XWikiException- error when creating new wiki.
-
deleteWiki
public void deleteWiki(String wikiName, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceDelete a wiki database.- Specified by:
deleteWikiin interfaceXWikiStoreInterface- Parameters:
wikiName- the name of the wiki.context- the XWiki context.- Throws:
XWikiException- error when deleting wiki database.
-
exists
public boolean exists(XWikiDocument doc, XWikiContext inputxcontext) throws XWikiException
- Specified by:
existsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getCache
public org.xwiki.cache.Cache<XWikiDocument> getCache()
-
setCache
public void setCache(org.xwiki.cache.Cache<XWikiDocument> cache)
-
getPageExistCache
public org.xwiki.cache.Cache<Boolean> getPageExistCache()
-
setPageExistCache
public void setPageExistCache(org.xwiki.cache.Cache<Boolean> pageExistCache)
-
getLimitSizePropertyCache
public org.xwiki.cache.Cache<Integer> getLimitSizePropertyCache()
- Returns:
- the cache that handle the limit size properties.
- Since:
- 11.4RC1
-
getCustomMappingPropertyList
public List<String> getCustomMappingPropertyList(BaseClass bclass)
- Specified by:
getCustomMappingPropertyListin interfaceXWikiStoreInterface
-
injectCustomMappings
public void injectCustomMappings(XWikiContext context) throws XWikiException
- Specified by:
injectCustomMappingsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectUpdatedCustomMappings
public void injectUpdatedCustomMappings(XWikiContext context) throws XWikiException
- Specified by:
injectUpdatedCustomMappingsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getTranslationList
public List<String> getTranslationList(XWikiDocument doc, XWikiContext context) throws XWikiException
- Specified by:
getTranslationListin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getQueryManager
public QueryManager getQueryManager()
- Specified by:
getQueryManagerin interfaceXWikiStoreInterface- Returns:
- QueryManager used for creating queries to store. Use QueryManager instead of #search* methods because it is more abstract from store implementation and support multiple query languages.
-
getLimitSize
public int getLimitSize(XWikiContext context, Class<?> entityType, String propertyName)
Description copied from interface:XWikiStoreInterfaceGet the limit size of a property.- Specified by:
getLimitSizein interfaceXWikiStoreInterface- Parameters:
context- the context of the wiki to retrieve the propertyentityType- the entityType where the property is located.propertyName- the property on which we want the limit size.- Returns:
- an integer representing the limit size.
-
-